防止AVPlayer取消背景音频

ani*_*hin 5 audio ios avplayer swift

在我的应用程序中,我使用AVPlayer播放简单的视频.这些视频没有任何音轨.问题是,当我播放它们时,所有背景音乐(不是来自我的应用程序)都会停止.我该如何防止这种情况?

有没有办法用AVPlayer播放视频而不取消背景音乐?

我的代码是:

let urlAsset = AVURLAsset(URL: urlLocal, options: nil)
let item = AVPlayerItem(asset: urlAsset)
self.videoPlayer = AVPlayer(playerItem: item)

if let player = self.videoPlayer {
    self.videoLayer = AVPlayerLayer(player: player)
    if let layer = self.videoLayer {

        layer.frame = self.view.bounds
        self.view.layer.addSublayer(layer)

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "videoPlayerDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification , object: nil)

        player.actionAtItemEnd = AVPlayerActionAtItemEnd.None
        player.play()
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Alf*_*sen 13

Swift 3有一些错误处理:

do {
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
} catch let error as NSError {
    print(error)
}

do {
    try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
    print(error)
}
Run Code Online (Sandbox Code Playgroud)


Joh*_*cid 4

您需要设置音频会话选项以将您的会话与其他会话混合:

NSError *error;
if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error])
{
    NSLog(@"audio session error: %@", error);
}
Run Code Online (Sandbox Code Playgroud)