AVAssetWriterInput isReadyForMoreMediaData не выполняется в проекте ARKit Swift 4

У меня проблемы с получением AVAssetWriterInput иметь собственность isReadyForMoreMediaData становиться true,

Я хотел бы написать CMSampleBuffers в аудиофайл, желательно.wav, но я еще не понял этот формат.

Я поместил проект на Github, если некоторые программисты могли бы посмотреть на него. https://github.com/SpencerIO/AudioWriter

    fileWriter = try? AVAssetWriter(outputURL: audioFileName, fileType: AVFileType.m4a)

    let audioOutputSettings: Dictionary<String, AnyObject> = [
        AVFormatIDKey : Int(kAudioFormatMPEG4AAC) as AnyObject,
        AVNumberOfChannelsKey : 1 as AnyObject,
        AVSampleRateKey : 44100 as AnyObject,
        AVEncoderBitRateKey : 128000 as AnyObject
    ]

    audioInput = AVAssetWriterInput(mediaType: AVMediaType.audio, outputSettings: audioOutputSettings)
    audioInput.expectsMediaDataInRealTime = true

    fileWriter.add(audioInput)


func session(_ session: ARSession, didOutputAudioSampleBuffer audioSampleBuffer: CMSampleBuffer) {
    if CMSampleBufferDataIsReady(audioSampleBuffer) {
        if audioInput.isReadyForMoreMediaData {
            // i dont get to this point
            audioInput.append(audioSampleBuffer)
        }
    }
}

0 ответов

Другие вопросы по тегам