2017-05-12 2 views
-3

Wie music spielen und stoppen mit single button wie in itunes.Wenn die taste gedrückt ist und die gleiche taste erneut gedrückt sollte die musik zu stoppen.make play und stop musik mit der gleichen taste swift

var audioplayer = AVaudioPlayer 
@IBAction func play(_ sender: Any) { 

    do 
    { 

     audioPlayer = try AVAudioPlayer (contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: "bensound", ofType: "mp3")!)) 
     audioPlayer.prepareToPlay() 
     audioPlayer.play() 
     audioPlayer.stop() 

    } 
    catch { 
     print ("error") 

    } 

} 

Antwort

2

Offensichtlich ist dies nicht funktionieren:

audioPlayer.prepareToPlay() 
audioPlayer.play() // this will just start playing the music and immediately stop it. 
audioPlayer.stop() 

Sie benötigen eine if-Anweisung und eine Variable, die angibt, ob die Musik spielt.

Glücklicherweise existiert die Variable, über die ich gesprochen habe, bereits! Sie müssen es nicht einmal selbst deklarieren! Es ist isPlaying, definiert in AVAudioPlayer.

Wir müssen nur die if-Anweisung schreiben. Es ist ziemlich einfach,

Wenn die Musik spielt, es zu stoppen, sonst beginnen sie

if audioplayer.isPlaying { 
    audioplayer.play() 
} else { 
    audioplayer.stop() 
} 
Verwandte Themen