HarmonyOS鸿蒙Next中如何获取系统当前活跃的AVSession及其AVSessionController,并下达指令给当前活跃的音乐播放器?
HarmonyOS鸿蒙Next中如何获取系统当前活跃的AVSession及其AVSessionController,并下达指令给当前活跃的音乐播放器?
实现类似Android中如下代码的功能:
MediaSessionManager mgr = (MediaSessionManager) appContext.getSystemService(Context.MEDIA_SESSION_SERVICE);
List<MediaController> activeSessions = mgr.getActiveSessions(componentName);
MediaController mediaController = activeSessions.get(0);
应该只可以自行创建avsession,这种行为感觉有点不太合适。权限过大了,估计不会放开的,系统应用应该可以。
参考:[@ohos.multimedia.avsession (媒体会话管理)-ArkTS API-AVSession Kit(音视频播控服务)-媒体 - 华为HarmonyOS开发者 (huawei.com)](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-avsession-V5)
更多关于HarmonyOS鸿蒙Next中如何获取系统当前活跃的AVSession及其AVSessionController,并下达指令给当前活跃的音乐播放器?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
确实如此,这个权限目前未开放给三方APP。
在HarmonyOS鸿蒙Next中,可以通过AVSessionManager
获取当前活跃的AVSession
及其AVSessionController
。首先,使用getActiveSession()
方法获取当前活跃的会话,然后通过createController()
方法创建控制器。通过控制器,可以发送播放、暂停等指令给当前活跃的音乐播放器。示例代码如下:
AVSessionManager sessionManager = AVSessionManager.getInstance();
AVSession activeSession = sessionManager.getActiveSession();
AVSessionController controller = sessionManager.createController(activeSession);
controller.play(); // 发送播放指令