【发布时间】:2016-05-19 08:50:10
【问题描述】:
我在一个导航控制器中有两个视图控制器,我们可以从第一个视图控制器导航到第二个视图控制器。
音频播放代码在第二个视图控制器的 viewDidLoad 方法中,如下所示:
let url = NSBundle.mainBundle().URLForResource("audioName", withExtension: "mp3")
//player = AVAudioPlayer(contentsOfURL: url!)
do {
player = try AVAudioPlayer(contentsOfURL: url!)
//player.play()
dispatch_async(dispatch_get_main_queue(), {
self.player.play()
})
} catch {
print("play error")
}
我的问题是,当加载第二个视图控制器时,正在播放音频,但是当我关闭第二个视图控制器并返回到第一个视图控制器时,音频停止播放。
我直接尝试了 play() 方法和 dispatch_async(dispatch_get_main_queue()) 方法,但是当第二个视图控制器关闭时,音频无法继续播放。
另外,音频可以在Xcode模拟器的后台自动播放,不知道有什么方法可以自定义。
【问题讨论】:
-
创建一个共享视图,在其中添加您的代码,检查此github.com/willingheart/AZSoundManager