随着用户使用无线技术连接电视、家庭影院系统和音乐播放器,他们希望能够在这些更大、更响亮的设备上播放来自 Android 应用的内容。启用这种播放方式可以将您的单设备、单用户应用转变为共享体验,从而让多个用户感到满意和兴奋。
Android媒体路由API旨在通过通用的用户界面,实现媒体内容在远程接收设备上的显示和播放。实现MediaRouter
接口的应用程序开发者可以连接到框架,并将内容播放到参与媒体路由框架的设备上。媒体播放设备制造商可以通过发布MediaRouteProvider
来参与框架,从而允许其他应用程序连接到接收设备并在其上播放媒体。图1说明了应用程序如何通过媒体路由框架连接到接收设备。
注意:如果您希望您的应用程序支持Google Cast设备,则应使用Cast SDK并将您的应用程序构建为Cast发送方。请按照Cast文档中的说明操作,而不是直接使用MediaRouter框架。
MediaRouter支持库
mediarouter API定义在AndroidX MediaRouter库中。此库与运行Android 2.3(API级别9)及更高版本的设备兼容,并确保在所有设备上提供一致的体验。有关mediarouter API的详细信息,请参阅API参考中的androidx.mediarouter.media
包。
- MediaRouter API
- 媒体应用程序使用
MediaRouter
API来发现可用的远程播放设备,并将音频和视频路由到这些设备。 - MediaRouteProvider API
MediaRouteProvider
API定义了远程播放设备的功能,并使其对使用MediaRouter
搜索替代媒体路径的应用程序可见。
输出切换器
从Android 11开始,您的应用程序的路由选项也会出现在系统媒体播放器中。这有助于在用户更改观看和收听环境(例如,在厨房观看视频与在手机上观看视频,或在家中或车内收听音频)时,为用户提供无缝的体验。
默认情况下,按下媒体通知中的路由选择按钮会调出包含以下选项的输出切换器。
- 当前设备上的扬声器
- 所有已连接的蓝牙音频设备
应用程序还可以根据其功能提供更多选项,例如Cast。
应用程序可以使用MediaRouter
API自定义路由选项。您可以排除不支持的设备(例如,如果您正在观看Netflix智能电视,则可以过滤掉仅音频的Chromecast),或包含您的应用程序识别的其他特殊设备。