2016-09-29 1 views
1

を記録するためのオーディオファイルを作成しながら、私はExtAudioFileCreateWithURLを使用して、一貫していますステレオLPCMのfloat32 Waveファイルを作成するときに、ランタイムkAudioFileUnsupportedDataFormatErrorエラーが発生します。私は同じ手順がMono(単一チャンネル)ファイルでうまく動作すると主張します。何かヒント?ここで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 

私は1にnumChannelsを変更した場合、すべてが正常であることを主張します! iOS 9.3 SDKの使用

答えて