image.png 使用MediaBrowserService播放 ? image.png 客户端需要创建MediaBrowser,服务端需要实现MediaBrowserService,在建立连接后,两端之间的交互主要通过MediaController和MediaSession 使用MediaBrowserService可以让Android Wear, Auto非常容易找我们的App,连接它,浏览它的内容,控制其播放,而完全不需要接触我们的UI Activity。 android:name=".MediaPlaybackService"> <intent-filter> <action android:name="android.media.browse.<em>MediaBrowserService</em> ) { PackageManager packageManager = context.getPackageManager(); Intent intent = new Intent(<em>MediaBrowserService</em>.SERVICE_INTERFACE
该服务组件被实现为包含媒体会话及其播放器的MediaBrowserService的子类。使用UI和媒体控制器的活动应包括与MediaBrowserService进行通信的MediaBrowser。 使用MediaBrowserService可以让随身设备(如Android Auto and Wear)轻松发现您的应用,连接到它,浏览内容和控制播放,而无需访问您的Activity 我们今天的学习实践是基于方案二的 MediaSession的框架 mediasession.png 图片来自 媒体应用架构概览 MediaBrowser 用来连接MediaBrowserService和订阅数据,通过他的回调可以获取和 Service的连接状态以及获取在Service中异步获取的音乐数据(这个一般不在Service中进行获取,因为涉及到的是具体的业务逻辑) MediaBrowserService 是一个Service, 也包含媒体播放器实例(比如我们本篇实践的ExoPlayer) MediaSession 一般在MediaBrowserService的onCreate中创建,通过MediaSession.CallBack
{ Log.d(TAG, "Running on a non-Car mode"); return false; } } 7.继承实现服务MediaBrowserService MediaBrowserService也是继承Servcie,这个服务中车机用来浏览及显示歌曲列表的功能。 android:exported="true"> <intent-filter> <action android:name="android.media.browse.<em>MediaBrowserService</em>
完整的代码示例 android-MediaBrowserService 完整展示了音频焦点的处理,使用 MediaPlayer 来播放音乐,同时使用了 MediaSession 。 Android多媒体开发资源 示例代码 — MediaBrowserService 示例代码 — MediaSession Controller Test (带有音频焦点测试) 了解 MediaSession
完整的代码示例 android-MediaBrowserService 完整展示了音频焦点的处理,使用 MediaPlayer 来播放音乐,同时使用了 MediaSession 。 Android多媒体开发资源 示例代码 — MediaBrowserService 示例代码 — MediaSession Controller Test (带有音频焦点测试) 了解 MediaSession
理解音频焦点 (第3/3部分) - Nazmul Idris (Naz) - Medium Android多媒体开发资源 示例代码 — MediaBrowserService 示例代码 — MediaSession
为包含 <action android:name="android.media.browse.<em>MediaBrowserService</em>" /> 的 Service 设定 android:exported=
理解音频焦点 (第 3/3 部分) - Nazmul Idris (Naz) - Medium Android多媒体开发资源 示例代码 — MediaBrowserService 示例代码 — MediaSession
MissingMediaBrowserServiceIntentFilter": Missing intent-filter with action android.media.browse.MediaBrowserService
要公开您的应用中的媒体内容,请扩展 MediaBrowserService 类。 您的 MediaBrowserService 实施应当提供对 MediaSession.Token 的访问权限,以便应用可以播放通过您的服务提供的媒体内容。