我已经关注了网上的每一篇文章,但没有一个解决了这个问题。 声音在0.1秒后立即开始和停止。我很快就能听到声音。
这是我的代码,重要的是: ...
let path = NSBundle.mainBundle().pathForResource("bgMusic", ofType: "mp3")
let bgMusicURL = NSURL.fileURLWithPath(path!)
var backgroundMusicPlayer:AVAudioPlayer!
do{
try AVAudioSession.sharedInstance().setActive(true)
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try backgroundMusicPlayer = AVAudioPlayer(contentsOfURL: bgMusicURL)
backgroundMusicPlayer!.prepareToPlay()
backgroundMusicPlayer!.play()
}catch {
print ("ERROR")
}
...
答案 0 :(得分:0)
当包含代码段的函数结束时,垃圾收集器将取消分配您的backgroundMusicPlayer
。尝试将backgroundMusicPlayer
作为全局变量,或者使用某种静态变量来保存它。