2016-06-09 124 views
0

我已经关注了Net上的每一篇文章,但没有解决这个问题。 声音开始和停止权立即像0.1秒后。我可以很快听到声音。Swift:音频开始和停止.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

你还有其他的线程在运行吗? – brkr

回答

0

当包含您的代码段的函数结束时,垃圾回收器会取消分配您的backgroundMusicPlayer 。尝试使backgroundMusicPlayer成为一个全局变量,或者拥有某种静态变量来保存它。

+0

使其成为一个全球变量工作完美!谢谢!! –

+0

很高兴听到它!你能否把答案标记为正确? –