2009-02-10 7 views
2

Il est destiné à retourner un OSType, mais à la place je reçois -50. Quelqu'un a-t-il une idée de l'erreur que cela représente? Je ne peux le trouver nul part.CoreAudio: Pourquoi ExtAudioFileCreateWithURL renvoie-t-il 0xFFFFFFCE?

Un extrait de code pour le contexte (l'erreur est si ambiguë, je ne sais pas ce fragment de code à coller, voici à peu près tout):

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 

Répondre

3

ExtAudioFileCreateWithURL() retourne un OSStatus, pas OSType. Voir le fichier MacErrors.h pour les différents codes d'erreur. Dans ce cas, -50 correspond à paramErr (erreur dans la liste des paramètres utilisateur), vous passez donc un ou plusieurs paramètres incorrectement à la fonction.

+0

Lequel avait tort? –