在 Swift 中重复播放声音文件?

sea*_*ord 5 audio xcode ios swift

通过使用以下代码,我通过按下按钮成功播放了声音。但是,我想按下一个按钮并循环/无限地播放该声音。这是如何实现的?我也想实现暂停/播放功能。提前致谢。

@IBAction func keyPressed(_ sender: UIB`utton) {

            playSound(soundName: sender.currentTitle!)

    }


    func playSound(soundName: String) { //
        let url = Bundle.main.url(forResource: soundName, withExtension: "wav")
        player = try! AVAudioPlayer(contentsOf: url!)
        player.play()

    } // End of Play Sound
Run Code Online (Sandbox Code Playgroud)

Anb*_*hik 11

默认情况下,AVAudioPlayer从头到尾播放它的音频然后停止,但我们可以通过设置它的numberOfLoops属性来控制让它循环的次数。例如,要让您的音频总共播放 3 次,您可以这样写:

 player.numberOfLoops = 3
Run Code Online (Sandbox Code Playgroud)

如果你想要无限循环然后使用

 player.numberOfLoops =  -1  
Run Code Online (Sandbox Code Playgroud)

例如

  func playSound(soundName: String) { //
        let url = Bundle.main.url(forResource: soundName, withExtension: "wav")
        player = try! AVAudioPlayer(contentsOf: url!)
        player.numberOfLoops =  -1 // set your count here 
        player.play()

    } // End of Play Sound
Run Code Online (Sandbox Code Playgroud)