【发布时间】:2011-12-22 00:01:12
【问题描述】:
我刚刚开始使用 CoreAudio。只是试图创建一个音频文件,但得到一个 kAudioFileUnsupportedDataFormatError 与以下。
谁能告诉我为什么?在我看来一切正常,但我一定做错了什么。
// Prepare the format
AudioStreamBasicDescription asbd;
memset(&asbd, 0, sizeof(asbd));
asbd.mSampleRate = SAMPLE_RATE; // 44100
asbd.mFormatID = kAudioFormatLinearPCM;
asbd.mFormatFlags = kAudioFormatFlagIsBigEndian;
asbd.mBitsPerChannel = 16;
asbd.mChannelsPerFrame = 1;
asbd.mFramesPerPacket = 1;
asbd.mBytesPerFrame = 2;
asbd.mBytesPerPacket = 2;
// Set up the file
AudioFileID audioFile;
OSStatus audioErr = noErr;
audioErr = AudioFileCreateWithURL((CFURLRef)fileURL,
kAudioFileAIFFType,
&asbd,
kAudioFileFlags_EraseFile,
&audioFile);
【问题讨论】:
-
好吧,我通过将 mFormatFlags 更改为 asbd.mFormatFlags = kLinearPCMFormatFlagIsBigEndian | 让它工作了。 kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked;
标签: macos core-audio