Wie kann ich mit AVFoundation auf andere Audio-Hardware-Ausgänge als 1-2 zugreifen? Ich schreibe SWIFT-Code für einen Mac OS-X-App, die MP3-Dateien über verschiedene Ausgabegeräte spielt (USB-Schnittstelle, dante, Soundflower), die wie folgt aussieht:Zugriff auf mehrere Audio-Hardware-Ausgänge/-Kanäle mit AVFoundation und Swift
myPlayer = AVPlayer(URL: myFilePathURL)
myPlayer.audioOutputDeviceUniqueID = myAudioOutputDevices[1].deviceUID()
myPlayer.play()
Aber, ich bin nicht sicher, wie um die Audiodatei auf anderen Kanälen als nur 1-2 abzuspielen. Zum Beispiel möchte ich ein MP3 abspielen, um 3-4 auszugeben.
Kann ich dies über AVPlayer tun? Oder muss ich woanders suchen? Vielleicht AVAudioEngine zusammen mit Mixer-Knoten? Ich habe die AVAudioEngine-Beispiele durchgesehen und konnte nirgendwo referenzierte Hardwarekanäle finden. Danke für jede Hilfe!
Es ist mein Verständnis, dass AVAudioEngine ist nur ein iOS Rahmen - so das wird nicht funktionieren. Die Apple-Dokumentation für iOS- und OS-X-Frameworks ist sehr eng miteinander verbunden - leider ohne viel Erklärung dafür, was für jede Plattform separat verfügbar ist. –
Ich versuche einen anderen Pfad, der AVAudioEngine und AVAudioPlayerNode zusammen mit dem mainMixerNode verwendet. Ich habe nicht herausgefunden, ob ich den MainMixerNode einem anderen Hardwarekanal als dem Standard zuweisen kann. Vielleicht ist das ein besserer Weg als der AVPlayer? –
Die Arbeit mit Channels Maps wurde wie hier [hier] begonnen (https://developer.apple.com/library/prerelease/content/technotes/tn2091/_index.html#//apple_ref/doc/uid/DTS10003118-CH1-CHANNELMAPPING) Arbeitet noch nicht, aber hoffentlich bald. –