HarmonyOS鸿蒙Next中音频焦点打断的常见场景及对应的audioInterrupt事件

HarmonyOS鸿蒙Next中音频焦点打断的常见场景及对应的audioInterrupt事件 在开发过程中,发现audioInterrupt事件分为INTERRUPT_HINT_PAUSE、INTERRUPT_HINT_STOP和INTERRUPT_HINT_RESUME,但是似乎并没有找到具体的场景与hint事件的对应关系。所以想分享下本人开发过程中实测结果,给需要用到的小伙伴参考。

播放流:

播放STREAM_USAGE_MUSIC/STREAM_USAGE_MOVIE/STREAM_USAGE_AUDIOBOOK类型的流时,再播放其他音乐、视频、听书应用,会收到INTERRUPT_HINT_STOP事件。其他应用播放结束后,不会收到INTERRUPT_HINT_RESUME事件。

播放STREAM_USAGE_MUSIC/STREAM_USAGE_MOVIE/STREAM_USAGE_AUDIOBOOK类型的流时,构造响铃、响闹钟、voip通话场景,会收到INTERRUPT_HINT_PAUSE事件。场景结束后,会收到INTERRUPT_HINT_RESUME事件,应用此时就要进行恢复播放的操作。

播放STREAM_USAGE_MUSIC/STREAM_USAGE_MOVIE/STREAM_USAGE_AUDIOBOOK类型的流时,进行录音机录音、语音消息录音、相机录制的场景,会收到INTERRUPT_HINT_PAUSE事件。当录制结束后,会收到INTERRUPT_HINT_RESUME事件,应用此时就要进行恢复播放的操作。

录制流:

1. 当开启SOURCE_TYPE_MIC录音流时,可以播放媒体音频。

2. SOURCE_TYPE_MIC录音流不会收到INTERRUPT_HINT_PAUSE事件和INTERRUPT_HINT_RESUME事件,只可能收到INTERRUPT_HINT_STOP事件。

在进行SOURCE_TYPE_MIC类型的录制时,构造voip通话场景或者蜂窝通话场景,会收到INTERRUPT_HINT_STOP事件。场景结束后,不会收到INTERRUPT_HINT_RESUME事件。

在进行SOURCE_TYPE_MIC类型的录制时,再播放音乐、视频、听书应用,不会收到任何事件。二者会进行并发播放。也就是说可以在录音时,播放媒体音频。

没有构造出场景,能使SOURCE_TYPE_MIC类型的录制流收到INTERRUPT_HINT_PAUSE事件。

如果先构造播放音乐、视频、听书应用的场景,再进行SOURCE_TYPE_MIC类型的录制,播放的媒体会暂停,当我的录制结束后,媒体恢复播放。


更多关于HarmonyOS鸿蒙Next中音频焦点打断的常见场景及对应的audioInterrupt事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS NEXT中,音频焦点打断的常见场景及对应audioInterrupt事件如下:

  • 来电/通话呼入:触发AUDIO_INTERRUPT_TYPE_BEGIN,原因AUDIO_INTERRUPT_REASON_CALL
  • 闹钟或计时器响铃:原因AUDIO_INTERRUPT_REASON_ALARM
  • 高优先级音频抢占(如导航、紧急广播):原因AUDIO_INTERRUPT_REASON_NOTIFICATION
  • 音频焦点释放后恢复:触发AUDIO_INTERRUPT_TYPE_END

更多关于HarmonyOS鸿蒙Next中音频焦点打断的常见场景及对应的audioInterrupt事件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在 HarmonyOS Next 中,音频焦点的 audioInterrupt 事件与场景的对应关系已基本明确:播放类流(如音乐/视频/有声书)被另一同类型媒体抢占时触发 STOP 且不自动恢复;被高优先级短暂音(闹钟、VoIP、录音等)打断时触发 PAUSE,待场景结束后触发 RESUME 通知恢复。录音流(SOURCE_TYPE_MIC)仅在高优先级通话介入时收到 STOP,其余场景多能与媒体并发或由媒体侧自行暂停,录音流本身不会收到 PAUSE/RESUME。该实测结论可为焦点策略处理提供直接参考。

回到顶部