2017-07-13 6 views
1

Où pourrais-je obtenir les informations de com.apple.coreaudio.avfaudio codes d'erreur, tels que:Comment rechercher le code d'erreur de 'com.apple.coreaudio.avfaudio'?

Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'error -50'

je reçois toujours une erreur lors de l'écriture tampon PCM à AVAudioFile. Le tampon provient du noeud de sortie AVAudioEngine.

enter image description here

L'erreur:

* Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'error -50' * First throw call stack: (0x18eb46fe0 0x18d5a8538 0x18eb46eb4 0x1a8d051cc 0x1a8d731dc 0x1000d45e0 0x1000d4820 0x1a8d14654 0x1a8d146c0 0x1a8d8c26c 0x1a8d8c1fc 0x100ae5a10 0x100af1a84 0x100b001f8 0x100ae7a60 0x100af3128 0x100ae9634 0x100af5630 0x100af6f48 0x18dc0968c 0x18dc0959c 0x18dc06cb4) libc++abi.dylib: terminating with uncaught exception of type NSException

Pourriez-vous me aider?

Répondre

0

Je ne trouve pas la description exacte de l'erreur, mais il semble être un générique « paramètres » ivalid d'exception.

Dans mon cas, et très probablement dans votre cas aussi, la question était un décalage entre le tampon et le format du AVAudioFile exemple.

let settings: [String: Any] = [ 
    AVFormatIDKey: kAudioFormatLinearPCM, 
    AVSampleRateKey: 44 * 1000, 
    AVNumberOfChannelsKey: 2 
] 

do { 

    try avFile = AVAudioFile(forWriting: URLFor(filename: "test.caf"), settings: settings) 

    avEngine.inputNode?.installTap(onBus: 0, bufferSize: 1024, format: avEngine.mainMixerNode.outputFormat(forBus: 0)) { 
     buffer, time in 

     do { 
      try self.avFile?.write(from: buffer) 
     } 
     catch { 
      // TODO 
     } 

    } 

    try avEngine.start() 

} catch { 
    // TODO 
} 

Dans l'exemple ci-dessous, je recevais la « -50 » erreur lorsque j'ai créé le AVAudioFile dans un format autre que PCM, 2 canaux 44kHz.