2016-09-29 12 views
1

Я использую ExtAudioFileCreateWithURL и последовательно получаю сообщение об ошибке при создании файла Stereo LPCM Float32 Wave. Я настаиваю на том, что одна и та же процедура отлично работает с файлом Mono (single channel). Любые намеки?iOS kAudioFileUnsupportedDataFormatError при создании аудиофайла для записи

Вот фрагмент кода:

let audioType: AudioFileTypeID = kAudioFileWAVEType 
var recordingFormatStream = CAStreamBasicDescription(sampleRate: sampleRate, numChannels: 2, pcmf: .Float32, isInterleaved: false)! 

err = ExtAudioFileCreateWithURL(audioFileRecordingURL, 
            audioType, 
            &recordingFormatStream, 
            nil, 
            AudioFileFlags.EraseFile.rawValue, 
            &audioRecordingAudioFile) 

отметив, что audioFileRecordingURL и audioRecordingAudioFile правильно набран и установить.

Для записей, то recordingFormatStream содержит:

mFormatFlags = kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked | kAudioFormatFlagIsFloat | kAudioFormatFlagIsNonInterleaved 
mFormatID = kAudioFormatLinearPCM 
mSampleRate: 44100.0 
mBytesPerPacket: 4, mFramesPerPacket: 1, mBytesPerFrame: 4, mChannelsPerFrame: 2, mBitsPerChannel: 32, mReserved: 0 

Я утверждаю, что если я изменю numChannels 1, все отлично! Использование iOS 9.3 SDK.

ответ