Ich arbeite an der Entwicklung einer App, die Narration spielt, indem nacheinander Satz für Satz Audiodatei abgespielt wird. Mit dem folgenden Code wurde wie erwartet gespielt. Nach dem Hinzufügen der "Stop" -Taste zum Stoppen der Wiedergabe habe ich jedoch festgestellt, dass die "Stop" -Taste den Ton nicht stoppt.AVAudioPlayer stoppt nicht während der Wiedergabe
Ich habe die "Stop" -Taste vor dem Drücken der "Play" -Taste getestet, was kein Problem war (die Nachricht wurde gedruckt). Nach dem Drücken von "Play" und während der Wiedergabe von NarrationPlayer funktioniert die Schaltfläche "Stop" nicht (es wurde keine Nachricht gedruckt).
Irgendeine Idee, was ist los?
import UIKit
import AVFoundation
class ViewController: UIViewController,AVAudioPlayerDelegate {
var NarrationPlayer:AVAudioPlayer = AVAudioPlayer()
var soundlist: [String] = []
var counter = 0
}
func playSound(_ soundfile: String) {
let NarPath = Bundle.main.path(forResource: soundfile, ofType:"mp3")!
let NarUrl = URL(fileURLWithPath: NarPath)
do {
NarrationPlayer = try AVAudioPlayer(contentsOf: NarUrl)
NarrationPlayer.delegate = self
} catch{
print(error)
}
NarrationPlayer.play()
}
@IBAction func play(_ sender: Any) {
soundlist.append("a")
soundlist.append("b")
soundlist.append("c")
playSound("first")
while counter < soundlist.count{
if NarrationPlayer.isPlaying == true{
}
else{
playSound(soundlist[counter])
counter += 1
}
}
}
@IBAction func StopPlay(_ sender: Any) {
print("stop button worked")
}
Ich weiß nicht, ob seine verwandten, aber warum gibt es Halter nach Zähler var Schließen – 3stud1ant3
@ 3stud1ant3 weil es eine öffnende Klammer '{ 'für seine jeweilige Klasse –