【发布时间】: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。
【问题讨论】:
标签: ios swift audio-recording audiotoolbox