audioPlayerDidFinishPlaying1は問題なく作動しますが、audioPlayerDidFinishPlaying2が呼ばれません。
functionの代わりにclassを作成する必要があるのでと思うのですが、方法がわかりません。
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 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/14 03:14