CoreAudio: Por que ExtAudioFileCreateWithURL retorno 0xFFFFFFCE?
-
22-08-2019 - |
Pergunta
É para retornar um OSType
, mas ao invés disso eu estou apenas começando -50. Alguém tem alguma idéia do que isso representa de erro? Eu não posso encontrá-lo em qualquer lugar.
Um trecho de código para o contexto (o erro é tão ambígua que eu não sei o trecho para colar, aqui é tudo muito bonito):
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
Solução
ExtAudioFileCreateWithURL()
retornos uma OSStatus
, não um OSType
. Veja a MacErrors.h
arquivo para os vários códigos de erro. Neste caso, -50 é paramErr
(erro na lista de parâmetros de utilizador), de modo que você está passando um ou mais dos parâmetros de forma incorrecta para a função.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow