播放iOS中使用VLC播放器播放视频流时同时播放背景音乐
创始人
2024-12-23 08:30:13
0

使用AVPlayer实现背景音乐播放,同时在VLCMediaPlayer的代理方法中添加对AVPlayer状态的监听,根据AVPlayer播放状态控制背景音乐的播放和暂停。

示例代码:

//创建AVPlayer实例
let audioUrl = URL(fileURLWithPath: Bundle.main.path(forResource: "audio", ofType: "mp3")!)
let audioPlayer = AVPlayer(url: audioUrl)

//添加AVPlayer状态监听
audioPlayer.addObserver(self, forKeyPath: "timeControlStatus", options: [.new, .old], context: nil)

//VLCMediaPlayer代理方法中控制背景音乐播放和暂停
func mediaPlayerStateChanged(_ aNotification: Notification!) {
  if let mediaPlayer = mediaPlayer {
    switch mediaPlayer.state {
    case .stopped, .ended, .error:
      audioPlayer.pause()
    case .playing:
      audioPlayer.play()
    case .paused:
      break
    default:
      break
    }
  }
}

//AVPlayer状态监听方法中根据播放状态控制背景音乐播放和暂停
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
  if let player = object as? AVPlayer,
  keyPath == "timeControlStatus",
  let statusInt = change?[NSKeyValueChangeKey.newKey] as? Int,
  let status = AVPlayer.TimeControlStatus(rawValue: statusInt) {
    switch status {
    case .paused:
      audioPlayer.pause()
    case .playing:
      audioPlayer.play()
    default:
      break
    }
  }
}

相关内容

热门资讯

8分钟教程!四川家园麻将断勾卡... 8分钟教程!四川家园麻将断勾卡有没有挂,wepoke德州扑克系统规律(详细透视辅助app教程)1、每...
1分钟辅助挂!浙江游戏大厅ap... 1、1分钟辅助挂!浙江游戏大厅app辅助,wopoker辅助器免费版v2.0(详细透视辅助神器教程)...
四分钟介绍!新麻圈辅助,德扑之... 新麻圈辅助新手教程相关信息汇总(需添加指定薇757446909获取下载链接);四分钟介绍!新麻圈辅助...
2分钟辅助挂!吉祥麻将填大坑怎... 2分钟辅助挂!吉祥麻将填大坑怎么能让胜率高,wpk如何才能稳定长期收益(详细透视辅助工具教程)1、让...
9分钟攻略!推大石有外挂么,p... 9分钟攻略!推大石有外挂么,pokerx机器人(详细透视辅助软件教程);实战中需综合运用上述技巧,并...
8分钟教学!潮汕雀友外挂,wp... 8分钟教学!潮汕雀友外挂,wpk系统发牌规律(详细透视辅助软件教程);超受欢迎的潮汕雀友外挂稳赢小游...
四分钟详情!逗娱碰胡辅助拿好牌... 四分钟详情!逗娱碰胡辅助拿好牌,wpk微扑克真的有辅助(详细透视辅助神器教程)是一款可以让一直输的玩...
七分钟介绍!雀神小程序怎么调胜... 七分钟介绍!雀神小程序怎么调胜率,微扑克wpk辅助软件(详细透视辅助器教程);值得一提的是,雀神小程...
4分钟方法!花花生活圈辅助器,... 4分钟方法!花花生活圈辅助器,微扑克ai代打(详细透视辅助器教程);花花生活圈辅助器简单的灵活控制,...
七分钟了解!越乡游斗牛有挂吗,... WePoker透视辅助版本解析‌,七分钟了解!越乡游斗牛有挂吗,governorofpoker3有挂...