Ich habe eine App, in der ich AVAudioEngine
für die Wiedergabe von Dateien aus dem lokalen Dateisystem mit AVAudioPlayerNodes
und AVAudioFiles
verwenden. Das funktioniert ganz gut.Daten aus dem Netzwerk in AVAudioEngine streamen, ist das möglich?
Jetzt möchte ich mein Setup aktivieren, um auch Streaming von MP3-Dateien von einem Server im Internet zu unterstützen.
Was ich versucht habe bisher
Meine Hoffnung war, dass ich eine Art Puffer von NSURL
Objekte erstellen können Netzwerkadressen zeigt, die ich dann mit meinem AVAudioPlayerNode
benutzen konnten.
Ich habe gesucht Stack Overflow und die internet im Allgemeinen, aber habe keine gute Tipps, wie dies zu erreichen.
Ich weiß, dass die AVAudioEngine
Lineup besteht aus:
- AVAudioPlayerNode, die von einem
AVAudioFile
oder einemAVAudioBuffer
Audio abspielen kann. Ich verwende heute bereitsAVAudioFile
für meine "lokale Dateieinrichtung". AVAudioFile, die für lokale Dateien verwendet werden soll. Ein ‚AVAudioFile‘ mit einem ‚NSURL‘ erstellt, also habe ich mit einer URL versucht, die in einem Spielplatz wie so auf einen Server zu einer MP3-Datei verweist:
var fileError: NSError? = nil let file = AVAudioFile(forReading: someURL, error: &fileError) if fileError != nil { fileError }
, die mich mit diesem Fehler belohnt :
Error Domain=com.apple.coreaudio.avfaudio Code=2003334207 "The operation couldn’t be completed. (com.apple.coreaudio.avfaudio error 2003334207.)" UserInfo=0x7fbfab424480 {failed call=ExtAudioFileOpenURL((CFURLRef)fileURL, &_extAudioFile)}
- AVAudioPCMBuffer, die die Klasse zu verwenden, ich hatte gehofft, aber ich kann es mit Daten keine Möglichkeit finden zu instanziiert.
Meine Frage (nur um deutlich zu machen :-))
Hat jemand von euch hell Leuten da draußen wissen, wie AVAudioEngine
zu verwenden, um Dateien von einem Server im Internet MP3-Streaming?
Oder sollte ich einfach aufgeben und AVPlayer
dafür verwenden?
Ich freue mich von Ihnen zu hören.
* "Oder sollte ich einfach aufgeben und den AVPlayer dafür verwenden?" * Ja. –
Danke @TomHarrington. Kurz und auf den Punkt :-) – pbodsk