複数のオーディオファイルを順番に再生するコードをswiftで書きたいのですが、以下の文では二つ同時に再生されてしまいます。どのように書き換えればよいでしょうか。
全文
import UIKit import AVFoundation class ViewController: UIViewController { var player:AVAudioPlayer! let url = Bundle.main.bundleURL.appendingPathComponent("audio1.mp3") let url2 = Bundle.main.bundleURL.appendingPathComponent("audio2.mp3") func player2(url: URL, url2: URL){ do { try player = AVAudioPlayer(contentsOf: url) try player2 = AVAudioPlayer(contentsOf: url2) player.play() player2.play() } catch { print(error) } } @IBAction func playbutton1(_ sender: Any) { player2(url: url1, url2: url2) }
訂正
func player2(url: URL, url2: URL) { do { try player = AVAudioPlayer(contentsOf:url) try player2 = AVAudioPlayer(contentsOf: url2) player.prepareToPlay() player.delegate = self } catch { print(error) } } @IBAction func pushButton3(sender: UIButton) { player2(url: url1, url2: url2) } func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) { player2.play() }
回答1件
あなたの回答
tips
プレビュー