So heySwift 2: AVAudioPlayers mehrere Töne auf einmal
Ich habe gesucht, um zu spielen, versuchen, einen Weg zu finden, diese zu lösen, aber es gibt im Grunde keine Lösungen für diese noch.
Ich brauche dringend einen Weg zu instanziieren und einen Sound zu spielen, wann immer ich will, ohne dass es andere Sounds ausschneiden. Ich weiß, dass AVAudioPlayer nur einen Ton gleichzeitig abspielen kann, also versuche ich herauszufinden, wie man ein dynamisches Array von AVAudioPlayern erstellt, die ich jederzeit hinzufügen kann, wenn ich einen Ton abspielen möchte. Mein aktueller Code, dass ich aus einer anderen Antwort auf dieser Seite bekam, ist dies:
func Sound(sound: String) {
do {
if let bundle = NSBundle.mainBundle().pathForResource(sound, ofType: "wav") {
let alertSound = NSURL(fileURLWithPath: bundle)
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
try AVAudioSession.sharedInstance().setActive(true)
try audioPlayer = AVAudioPlayer(contentsOfURL: alertSound)
audioPlayer.prepareToPlay()
audioPlayer.play()
}
} catch {
print(error)
}
}
, die leider nicht funktioniert. Es spielt einen Ton ab, stoppt jedoch jeden anderen Ton vom Abspielen.
Grundsätzlich Ich brauche nur einen Code-Schnipsel, die mit Swift 2 auf dem neuesten Stand ist, die mich einen Ton spielen können, ohne sie schneiden andere Töne aus, die zu spielen sind. Auch wenn es zweimal der gleiche Klangeffekt ist.
Ein Spieler spielt einen Ton. Wenn du zwei Sounds gleichzeitig willst, benutze zwei Spieler. :) – Moritz
ja! ICH KENNE! Das Problem, das ich habe, ist mit einem Array von AVAudioPlayers, so dass ich mehrere Sounds gleichzeitig spielen kann. Siehe: der Link, den ich unten gepostet habe. – Varkarrus