如何使用单个按钮进行音乐播放和停止,就像在iTunes中一样。当按下按钮并再次按下相同的按钮时,应停止播放音乐。
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")
}
}
答案 0 :(得分:2)
显然,这不会起作用:
audioPlayer.prepareToPlay()
audioPlayer.play() // this will just start playing the music and immediately stop it.
audioPlayer.stop()
您需要一个if语句和一个表示音乐是否正在播放的变量。
幸运的是,我所谈论的变量已经存在!你甚至不需要自己申报!它是isPlaying
,在AVAudioPlayer
中定义。
我们只需编写if语句。这很简单,
如果正在播放音乐,请将其停止,否则启动它
if audioplayer.isPlaying {
audioplayer.play()
} else {
audioplayer.stop()
}