HarmonyOS鸿蒙Next中通过播控中心实现A应用控制B应用播放暂停

HarmonyOS鸿蒙Next中通过播控中心实现A应用控制B应用播放暂停 普通app可以控制其他应用播放器的播放状态,可以监听其他应用播放器的播放状态

可申请ohos.permission.MANAGE_MEDIA_RESOURCES_FOR_PUBLIC权限实现

https://developer.huawei.com/consumer/cn/doc/app/agc-help-apply-acl-0000002394212138#section156171230179

1、注册avSession.onTopSessionChange,监听最新播放会话变更的事件。

2、使用avSession.createController,根据会话ID创建需要监听的应用的控制器。

控制其他应用播放状态:

使用sendControlCommand,给对应应用发送控制命令。

监听其他应用播放状态:

注册on(‘playbackStateChange’),监听该应用的状态变化(如暂停到播放)。


更多关于HarmonyOS鸿蒙Next中通过播控中心实现A应用控制B应用播放暂停的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

感谢分享,学到了

更多关于HarmonyOS鸿蒙Next中通过播控中心实现A应用控制B应用播放暂停的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS NEXT中,A应用可通过播控中心控制B应用的播放/暂停。核心是使用AVSession框架:B应用注册AVSession(媒体会话),A应用通过AVController获取该会话,并发送play()/pause()指令。具体实现:A应用调用createController()绑定B应用的sessionId,即可跨应用控制。无需Java或C语言。

在 HarmonyOS Next 中,应用可通过 AVSession 服务实现跨应用播控。
首先申请 ohos.permission.MANAGE_MEDIA_RESOURCES_FOR_PUBLIC 权限。注册 avSession.onTopSessionChange 监听当前活跃播控会话的变更,获取目标应用的 sessionId。
使用 avSession.createController(sessionId) 创建对应 AVSessionController,此后即可:

  • 调用 controller.sendControlCommand('play' | 'pause' | …) 控制 B 应用的播放/暂停。
  • 注册 controller.on('playbackStateChange') 监听 B 应用播放状态变化。
    整个过程无需直接通信,均通过系统播控中心统一代理。
回到顶部