ios - 如何停止 AVAudioPlayer

标签 ios swift

我正在 xCode 中为 iOS 制作一个 noiseMaker 应用程序,其中有不同的按钮可以播放不同的声音。 Storyboard中的每个声音和每个按钮都有一个 0-3 的标签。随机化按钮的标签为 4,这是目前为止的代码:

func play (index: Int) {
    if !player.isEmpty && index >= 0 && index < player.count {
        player[index].play()
    }
    if index == 4{
        let randomNumber =  Int(arc4random_uniform (4) + 0)
        player[randomNumber].play()
    }

但是,我想要的是当我按下另一个按钮甚至再次按下同一个按钮时停止播放当前歌曲。我相信停止 AVAudioPlayer 代码会在“播放”功能开始时正确运行,以便它在任何其他歌曲开始播放之前停止播放器。

感谢所有帮助。提前致谢...

最佳答案

您可以检查当前玩家是否正在玩。

检查playing属性返回播放器是否正在播放的状态。

if (aPlayer.playing) {
    aPlayer.stop()
    //Then play again by aPlayer.play()
}
else {
    aPlayer.play()
}

关于ios - 如何停止 AVAudioPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34281679/

相关文章:

ios - 写入文件不起作用

ios - CGAffineTrasformRotation 也会旋转坐标系统

ios - Swift tableView.dequeueReusableCell 从不返回 Nil

Swift 3.0 排序 - 传递给不带参数的调用的参数

php - Swift - 发布到服务器多个值

ios - 如何解决在 swift 中使用 Alamofire 从 API 中提取数据时的无效 json 问题?

ios - 使用辅助功能存储其他信息?

ios - 是否可以在不委托(delegate)的情况下使用类似于 webViewFinishLoad 的功能?

ios - 类型转换细胞类型出队的问题

ios - 在 UIView 上绘制点和线