AVPlayerLayer 暂停当前正在播放的音频
AVPlayerLayer pauses currently playing audio
我有一个 ViewController
,我添加了一个 AVPlayerLayer
以获得视频背景。为此,我使用 AVPlayerLayer
并将其添加到视图层。如果我在打开 ViewController 时有 Spotify 或其他播放音频播放,PlayerLayer 会暂停它。
我怎样才能结束这种行为?
我这样创建图层:
lazy var playerLayer:AVPlayerLayer! = {
var playerLayer:AVPlayerLayer!
if let src = NSBundle.mainBundle().pathForResource("Untitled", ofType: "mp4") {
playerLayer = AVPlayerLayer(player: AVPlayer(URL: NSURL.fileURLWithPath(src)))
playerLayer.frame = self.view.bounds
playerLayer.backgroundColor = nil
playerLayer.opaque = true
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer.player?.muted = true
self.view.layer.insertSublayer(playerLayer, atIndex: 0)
}
return playerLayer
}()
如您所见,我已尝试将 muted
属性 设置为 true,但它不起作用。
其他应用的音频打断了你的。
您需要创建一个 AVAudioSession 并设置 "mix with others" 选项。
try? AVAudioSession.sharedInstance().setActive(true)
try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)
我有一个 ViewController
,我添加了一个 AVPlayerLayer
以获得视频背景。为此,我使用 AVPlayerLayer
并将其添加到视图层。如果我在打开 ViewController 时有 Spotify 或其他播放音频播放,PlayerLayer 会暂停它。
我怎样才能结束这种行为?
我这样创建图层:
lazy var playerLayer:AVPlayerLayer! = {
var playerLayer:AVPlayerLayer!
if let src = NSBundle.mainBundle().pathForResource("Untitled", ofType: "mp4") {
playerLayer = AVPlayerLayer(player: AVPlayer(URL: NSURL.fileURLWithPath(src)))
playerLayer.frame = self.view.bounds
playerLayer.backgroundColor = nil
playerLayer.opaque = true
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer.player?.muted = true
self.view.layer.insertSublayer(playerLayer, atIndex: 0)
}
return playerLayer
}()
如您所见,我已尝试将 muted
属性 设置为 true,但它不起作用。
其他应用的音频打断了你的。
您需要创建一个 AVAudioSession 并设置 "mix with others" 选项。
try? AVAudioSession.sharedInstance().setActive(true)
try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)