iOS 创建录音文件时出现 kAudioFileUnsupportedDataFormatError
iOS kAudioFileUnsupportedDataFormatError while creating Audio File for recording
我正在使用 ExtAudioFileCreateWithURL
,并且在创建立体声 LPCM Float32 Wave 文件时一直出现运行时 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。
经过一番努力:SDK 中的 ExtAudioFile
方法 不接受非交错音频 。我相信这在某种程度上是新的!
多亏了这个post:
我正在使用 ExtAudioFileCreateWithURL
,并且在创建立体声 LPCM Float32 Wave 文件时一直出现运行时 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。
经过一番努力:SDK 中的 ExtAudioFile
方法 不接受非交错音频 。我相信这在某种程度上是新的!
多亏了这个post: