CoreAudio:为什么ExtAudioFileCreateWithURL返回0xFFFFFFCE?

时间:2009-02-10 04:34:25

标签: iphone macos core-audio

这意味着返回OSType,但我只是得到-50。有谁知道这代表什么错误?我无法在任何地方找到它。

上下文的代码段(错误是如此模糊,我不知道要粘贴哪些代码段,这里几乎所有内容):

ExtAudioFileRef cafFile;
AudioStreamBasicDescription cafDesc;

cafDesc.mBitsPerChannel = 16;
cafDesc.mBytesPerFrame = 4;
cafDesc.mBytesPerPacket = 4;
cafDesc.mChannelsPerFrame = 2;
cafDesc.mFormatFlags = 0;
cafDesc.mFormatID = 'ima4';
cafDesc.mFramesPerPacket = 1;
cafDesc.mReserved = 0;
cafDesc.mSampleRate = 44100;

OSType status = ExtAudioFileCreateWithURL(
                   fileURL,                    // inURL
                   'caff',                     // inFileType
                   &cafDesc,                   // inStreamDesc
                   NULL,                       // inChannelLayout
                   kAudioFileFlags_EraseFile,  // inFlags
                   &cafFile                    // outExtAudioFile
                   );    // returns 0xFFFFFFCE

1 个答案:

答案 0 :(得分:3)

ExtAudioFileCreateWithURL()返回OSStatus,而不是OSType。有关各种错误代码,请参阅文件MacErrors.h。在这种情况下,-50是paramErr(用户参数列表中的错误),因此您将一个或多个参数错误地传递给函数。