ios - 防止 AVPlayer 取消背景音频

标签 ios swift audio avplayer

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

有没有办法用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()
    }
}

谢谢!

最佳答案

带有一些错误处理的 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)
}

关于ios - 防止 AVPlayer 取消背景音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31671029/

相关文章:

arrays - 我收到错误 = 无法将类型 'String?' 的值分配给类型 '[String]' 我到处都看了,但似乎找不到答案

swift - 如何自动向大型代码库添加显式类型?

c++ - 如何用 C++ 绘制音频文件的振幅?

ios - (Swift) UICollectionViewCell 带有手势识别器的嵌套 subview

arrays - 快速将 [String?] 转换为 [String!]

javascript - 如何确定播放 HTML5 音频是否真的发出声音?

javascript - AudioContext 没有暂停属性?

ios - SwiftUI:仅在 iOS 14+ 上使用 'accessibilityIdentifier'

ios - 不同维度的单个 CollectionView 中的两个单元格

ios - 自定义形状可触摸区域