HarmonyOS AvPlayer的audioInterrupt回调在播放视频时不会回调任何内容

视频用的是系统组件video,音频用avplayer,设置avplayer为 avPlayer.audioInterruptMode = audio.InterruptMode.SHARE_MODE,视频开始播放时音频不会有回调,播放音频时候下使用其他应用播放后是回调了该方法的,需要做其他操作吗?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

关于audioInterrupt事件的具体用法可以参考以下demo:

let isPlaying: boolean; // 标识符,表示是否正在渲染
let isDucked: boolean; // 标识符,表示是否被降低音量

audioHapticPlayerInstance.on('audioInterrupt', async(interruptEvent: audio.InterruptEvent) => {
  if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) {
    // 由系统进行操作,强制打断音频渲染,应用需更新自身状态及显示内容等
    switch (interruptEvent.hintType) {
      case audio.InterruptHint.INTERRUPT_HINT_PAUSE:
      // 音频流已被暂停,临时失去焦点,待可重获焦点时会收到resume对应的interruptEvent
        console.info('Force paused. Update playing status and stop writing');
        isPlaying = false; // 简化处理,代表应用切换至暂停状态的若干操作
        break;
      case audio.InterruptHint.INTERRUPT_HINT_STOP:
      // 音频流已被停止,永久失去焦点,若想恢复渲染,需用户主动触发
        console.info('Force stopped. Update playing status and stop writing');
        isPlaying = false; // 简化处理,代表应用切换至暂停状态的若干操作
        break;
      case audio.InterruptHint.INTERRUPT_HINT_DUCK:
      // 音频流已被降低音量渲染
        console.info('Force ducked. Update volume status');
        isDucked = true; // 简化处理,代表应用更新音量状态的若干操作
        break;
      case audio.InterruptHint.INTERRUPT_HINT_UNDUCK:
      // 音频流已被恢复正常音量渲染
        console.info('Force ducked. Update volume status');
        isDucked = false; // 简化处理,代表应用更新音量状态的若干操作
        break;
      default:
        break;
    }
  } else if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_SHARE) {
    // 由应用进行操作,应用可以自主选择响应操作或忽略该事件
    switch (interruptEvent.hintType) {
      case audio.InterruptHint.INTERRUPT_HINT_RESUME:
      // 建议应用继续渲染(说明音频流此前被强制暂停,临时失去焦点,现在可以恢复渲染)
        console.info('Resume force paused renderer or ignore');
      // 若选择继续渲染,需在此处主动执行开始渲染的若干操作
        break;
      default:
        break;
    }
  }
});
分享
微博
QQ
微信
回复
1天前
相关问题
avplayer播放视频demo
1611浏览 • 1回复 待解决
AVPlayer实现视频播放
1071浏览 • 1回复 待解决
HarmonyOS AvPlayer视频播放速度问题
489浏览 • 1回复 待解决
HarmonyOS 视频播放AVPlayer解码异常
42浏览 • 1回复 待解决
使用AVPlayer实现视频播放
1323浏览 • 1回复 待解决
HarmonyOS AVPlayer 播放问题
764浏览 • 1回复 待解决
AVPlayer视频展示状态
172浏览 • 1回复 待解决