iOS kAudioFileUnsupportedDataFormatError 在创建音频文件进行录制时
Posted
技术标签:
【中文标题】iOS kAudioFileUnsupportedDataFormatError 在创建音频文件进行录制时【英文标题】:iOS kAudioFileUnsupportedDataFormatError while creating Audio File for recording 【发布时间】:2016-09-29 17:35:16 【问题描述】:我正在使用 ExtAudioFileCreateWithURL
并在创建 Stereo LPCM Float32 Wave 文件时始终遇到运行时 kAudioFileUnsupportedDataFormatError
错误。我坚持认为同样的程序适用于 Mono(单通道)文件。有什么提示吗?
这里是sn-p的代码:
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。
【问题讨论】:
【参考方案1】:经过一番努力:SDK 中的ExtAudioFile
方法不接受非交错音频。我相信这在某种程度上是新的!
感谢这个帖子:Using ExtAudioFileWriteAsync() in callback function. Can't get to run
【讨论】:
以上是关于iOS kAudioFileUnsupportedDataFormatError 在创建音频文件进行录制时的主要内容,如果未能解决你的问题,请参考以下文章