CoreAudio: ¿Por qué volver ExtAudioFileCreateWithURL 0xFFFFFFCE?
-
22-08-2019 - |
Pregunta
Es la intención de devolver un OSType
, sino que sólo estoy -50. ¿Alguien tiene alguna idea de lo que esto representa el error? No puedo encontrar en cualquier lugar.
Un fragmento de código para el contexto (el error es tan ambigua que no sé qué fragmento de código para pegar, aquí está casi todo):
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
Solución
ExtAudioFileCreateWithURL()
devuelve un OSStatus
, no un OSType
. Ver el MacErrors.h
archivo para los distintos códigos de error. En este caso, es -50 paramErr
(error en la lista de parámetros de usuario), por lo que estás pasando uno o más de los parámetros de forma incorrecta a la función.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow