CoreAudio:Почему ExtAudioFileCreateWithURL возвращает 0xFFFFFFCE?

StackOverflow https://stackoverflow.com/questions/531066

  •  22-08-2019
  •  | 
  •  

Вопрос

Он предназначен для возврата 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
Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top