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)
}
}
}