1
我創建的UIButton與上MainStoryBoard的圖像。當我按下該按鈕時,它將播放一個音頻文件,而在播放音頻時,UIButton的背景顏色會發生變化。如何使用audioPlayerDidFinishPlaying多次
audioPlayerDidFinishPlaying1正確調用,但是audioPlayerDidFinishPlaying2似乎不會被調用。我感謝任何意見,導致我解決這個問題。
let url1 = Bundle.main.bundleURL.appendingPathComponent("music1.mp3")
let url2 = Bundle.main.bundleURL.appendingPathComponent("music2.mp3")
@IBOutlet weak var yourButton: CustomButton!
@IBOutlet weak var yourButton2: CustomButton!
func Player(url: URL) {
do {
try player = AVAudioPlayer(contentsOf:url)
player.play()
yourButton.isSelected = true
player.delegate = self
} catch {
print(error)
}
}
func Player1(url: URL) {
do {
try player = AVAudioPlayer(contentsOf:url)
player.play()
yourButton2.isSelected = true
player.delegate = self
} catch {
print(error)
}
}
@IBAction func pushButton1(sender: UIButton) {
Player(url: url1)
}
func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
yourButton.isSelected = false
}
@IBAction func pushButton2(sender: UIButton) {
Player1(url: url2)
}
func audioPlayerDidFinishPlaying2(_ player: AVAudioPlayer, successfully flag: Bool) {
yourButton2.isSelected = false
}
您是否介紹瞭如何編寫「讓生成的播放器成爲類成員」? – risa8
@ risa8看到我編輯的答案。 – giorashc
@ risa8檢查我編輯的答案。你可以去掉方法audioPlayerDidFinishPlaying2。閱讀說明 – giorashc