音频应用概览
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
音频应用的首选架构是客户端/服务器设计。客户端是应用中的 activity,包括 MediaBrowser
、媒体控制器和界面。服务器是包含播放器和媒体会话的 MediaBrowserService
。
![audio-app 音频 Activity 和 BrowserService](https://developer.android.com/static/guide/topics/media/images/audio-activity-and-service.png?authuser=9&hl=zh-cn)
MediaBrowserService
提供两个主要功能:
- 当您使用
MediaBrowserService
时,具有 MediaBrowser
的其他组件和应用可以发现您的服务,创建自己的媒体控制器,连接到您的媒体会话,并控制播放器。正是通过这种方式,Wear OS 和 Android Auto 应用才得以访问您的媒体应用。
- 它还提供了一个可选的 Browsing API。应用可以不使用此功能。通过 Browsing API,客户端可以查询服务并构建其内容层次结构的表示,这可能表示播放列表、媒体库或其他类型的集合。
- 构建媒体浏览器服务
- 说明了如何创建包含媒体会话的媒体浏览器服务,管理客户端连接以及在播放音频时成为前台服务。
- 构建媒体浏览器客户端
- 说明了如何创建包含界面和媒体控制器的媒体浏览器客户端 Activity,以及如何与媒体浏览器服务进行连接和通信。
- 媒体会话回调
- 说明了媒体会话回调方法如何管理媒体会话、媒体浏览器服务以及其他应用组件(如通知和广播接收器)。
- 通用 Android 音乐播放器示例
- 此 GitHub 示例展示了如何实现一个媒体应用,该应用允许后台播放音频并提供向其他应用公开的媒体库。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-01-05。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{
"last_modified": "最后更新时间 (UTC):2024-01-05。",
"state": ""
}