CoreAudio: Perché ExtAudioFileCreateWithURL tornare 0xFFFFFFCE?
-
22-08-2019 - |
Domanda
E 'lo scopo di restituire un OSType
, ma invece sto solo ricevendo -50. Qualcuno ha qualche idea di cosa questo rappresenta errore? Non riesco a trovare da nessuna parte.
Un frammento di codice per il contesto (l'errore è così ambiguo non so cosa frammento da incollare, ecco praticamente tutto):
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
Soluzione
ExtAudioFileCreateWithURL()
restituisce un OSStatus
, non un OSType
. Vedere il MacErrors.h
file per i vari codici di errore. In questo caso, -50 è paramErr
(errore nella lista dei parametri utente), quindi si sta passando uno o più dei parametri in modo non corretto alla funzione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow