gpt4 book ai didi

ios - 如何在让声音播放到结束后隐藏按钮?

转载 作者:行者123 更新时间:2023-11-30 13:49:41 25 4
gpt4 key购买 nike

我试图在播放我之前录制的一些音频后隐藏一个按钮。

当我按下“停止按钮”时,一切顺利,因为以下代码:

@IBAction func stopAllSounds(sender: UIButton) {
audioPlayer.stop()
audioEngine.stop()
stopButton.hidden = true
}

我的问题是当我让音频结束时。在这种情况下,“停止按钮”不会消失。

为了给您提供更多信息,以下代码负责“播放按钮”:

@IBAction func playSlow(sender: UIButton) {
/* Good practise to stop audioPlayer */
audioPlayer.stop()
audioPlayer.rate = 0.5
audioPlayer.currentTime = 0.0
/* Use audioPlayer here */
audioPlayer.play()
stopButton.hidden = false
}

此后我希望隐藏“停止按钮”。stopButton.hidden = false这个函数的作用是让“停止按钮”在声音播放时可见。

最佳答案

AVAudioPlayer 有一个委托(delegate)属性。在此委托(delegate)中,您有一个在 audioPlayer 声音完成后调用的方法:

audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool)

因此,您可以做的就是让对象实现它的委托(delegate) AVAudioPlayerDelegate 并实现该方法,将您的按钮隐藏在那里。

    func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) {
stopButton.hidden = true;
}

关于ios - 如何在让声音播放到结束后隐藏按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34443402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com