2016-09-29 68 views
1

我正在使用ExtAudioFileCreateWithURL,並且在創建立體聲LPCM Float32 Wave文件時始終得到運行時kAudioFileUnsupportedDataFormatError錯誤。我堅持使用單聲道(單聲道)文件也可以正常工作。任何提示?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) 

指出,audioFileRecordingURLaudioRecordingAudioFile正確鍵入並設置。

對於記載,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。

回答