MainStoryBoardにタップするとオーディオファイルが再生されるUIButtonを設置しています。
オーディオが再生されている間、UIButtonを選択した状態(色を変更)にし、オーディオ再生が終わるとデフォルトの値に戻るようにコードを書きたいと思います。
以下のようにコードを記述したのですが、タップ時に変更された色が再生後もdefaultの状態に戻りません。
var player:AVAudioPlayer! @IBOutlet weak var yourButton: UIButton! let url = Bundle.main.bundleURL.appendingPathComponent("audio1.mp3") override func viewDidLoad() { super.viewDidLoad() self.yourButton.backgroundColor = UIColor.white // default state of button } @IBAction func pushButton1(sender: UIButton) { play(url: url) } func play(url: URL) { do { try player = AVAudioPlayer(contentsOf:url) player.play() self.yourButton.backgroundColor = UIColor.green // playing } catch { print(error) } } func audioPlayerDidFinishPlaying(player: AVAudioPlayer!, successfully flag: Bool) { self.yourButton.backgroundColor = UIColor.white // back to default state }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/10 03:19