2017-03-03 6 views
1

In den Apples Swift 3 API Core Audio Die Methode AudioQueueNewInput(...) wird zum Erstellen eines neuen Aufnahme-Audio-Warteschlangenobjekts verwendet.Wie erstellt man ein AudioQueueInputCallback in Swift 3?

Eines der Argumente inCallbackProc ist vom Typ AudioQueueInputCallback. Siehe this für die vollständige Erklärung der AudioQueueNewInput Funktion.

Die Erklärung von AudioQueueInputCallback selbst sieht wie folgt aus:

typealias AudioQueueInputCallback = (UnsafeMutableRawPointer?, AudioQueueRef, AudioQueueBufferRef, UnsafePointer<AudioTimeStamp>, UInt32, UnsafePointer<AudioStreamPacketDescription>?) -> Void 

Ich möchte eine Funktion erstellen, die ich sicher in die AudioQueueNewInput Funktion übergeben können. Was ich versucht sieht wie folgt aus:

func audioQueueInputCallback(inUserData: UnsafeMutableRawPointer?, 
          inQueue: AudioQueueRef, 
          inBuffer: AudioQueueBuffer, 
          inStartTime: UnsafePointer<AudioTimeStamp>, 
          inNumPackets: UInt32, 
          inPacketDesc: UnsafePointer<AudioStreamPacketDescription>?) { 
    // Handle stuff 
} 

Leider Xcode kann nicht meine Funktion der Art scheinen AudioQueueInputCallback zu konvertieren. Was fehlt mir hier?

Antwort

Verwandte Themen