C

媒体会话管理器 QML 类型

媒体会话管理器提供了一个列表,其中包含了设备上当前活跃的 媒体控制器。(技术预览) 更多...

导入说明import QtAndroidAutomotive.Media
QtAndroidAutomotive 6.5

属性

信号

详细描述

媒体会话管理器提供了设备上活跃的 控制器 的列表。如果它检测到系统中新增了一个控制器或者系统中移除了一个活跃控制器,它会更新相应的控制器列表并发出信号通知改变。

控制器列表可以作为下面展示的 QML ListView 的模型使用

ListView {
    model: MediaSessionManager.activeControllers
}

要获取对安卓中控制器访问的权限,您需要拥有 MEDIA_CONTENT_CONTROL 权限或者用户需要为您的应用程序授权通知访问。对于通知访问,您需要在 AndroidManifest.xml 文件中添加 QtMediaNotificationListener 类,如下所示

<service
    android:name="org.qtproject.qt.android.mediasession.QtMediaNotificationListener"
    android:enabled="true"
    android:exported="true"
    android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
    <intent-filter>
        <action android:name="android.service.notification.NotificationListenerService" />
    </intent-filter>
</service>

参见 Qt Android Manifest File ConfigurationAndroid Manifest <service> 元素 和 Android NotificationListenerService 文档以获取更多详细信息。

已知问题的媒体会话、错误和缺陷

所有影响此 API 的已知问题、错误和缺陷都列在这里并进行了描述。这些状态将在每个版本中更新。

在权限授予之前调用 onListenerConnected

目前,媒体会话 API 依赖于 onListenerConnected 方法来指示用户是否已经授权通知访问。但是,有时 Android 在通知访问授权之前会调用 onListenerConnected 方法。这是一个 Android 的公开错误,并且在 此处 已被报告。

一种解决方法是,在卸载应用程序之前先删除已安装应用程序的权限。

另请参阅 MediaSessionController.

属性文档

activeControllers : 列表<MediaSessionController>

此属性存储设备上活动 控制器 的列表。

当应用程序播放媒体时,它可以创建一个媒体会话,以便其他应用程序可以选择控制正在播放的媒体。这些控制器表示设备上的活动会话。

注意: 当发出 MediaSessionManager::activeControllersChanged() 信号时,返回的 控制器 将被删除。


信号文档

activeControllersChanged()

媒体控制器 列表更新时,会发出此信号。例如,当添加新控制器或删除旧控制器时。

注意: 相应的处理程序是 onActiveControllersChanged


在特定的 Qt 许可证下可用。
了解更多信息。