CoreAudio: почему ExtAudioFileCreateWithURL возвращает 0xFFFFFFCE? - PullRequest
2 голосов
/ 10 февраля 2009

Это должно вернуть 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 Ответ

3 голосов
/ 10 февраля 2009

ExtAudioFileCreateWithURL() возвращает OSStatus, а не OSType. См. Файл MacErrors.h для различных кодов ошибок. В этом случае -50 - это paramErr (ошибка в списке пользовательских параметров), поэтому вы неправильно передаете один или несколько параметров в функцию.

...