当我在以下函数中添加断点时,声音文件正在播放。但是,如果我在没有断点的情况下运行应用程序,则声音文件将无法播放。

我在单击按钮时将此函数称为Sound()。playSounds()

import AVFoundation

class Sound {

    private var audioplayer:AVAudioPlayer!
    func playSounds()
    {
        if let path = Bundle.main.path(forResource: "Audio/ring.mp3", ofType: nil)
        {
            let url = URL(fileURLWithPath: path)
            do {
                self.audioplayer = try AVAudioPlayer(contentsOf: url)
                self.audioplayer.numberOfLoops = 3
                self.audioplayer.prepareToPlay()
                self.audioplayer.play()
                }

            catch {
                print("Couldn't load  file")

            }
        }
    }
}

最佳答案

您的Sound对象有机会播放声音之前被释放。

将其存储在您从以下位置调用的位置:

var sound = Sound()

// for example to play sound call
func playPressed(){
  sound.playSounds()
}

关于ios - 没有断点就无法播放音频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59928199/

10-13 09:22