开发指南(音频)更新时间:2025-03-13 10:21:00
一、环境
小米妙播是基于局域网的音频流转能力,用户可以将小米手机/平板上的媒体音频,无缝流转至小米音箱、小米电视,将手机/平板音频应用的使用场景扩大到智能设备上。
接入场景介绍
小米妙播用于音频播放场景,可以为应用提供附近设备列表选择器,用户可将音频投射至周围设备播放。同时可支持切换已连接的蓝牙设备。

二、 音频流转流程图

三、SDK接入
1、适配谷歌原生Media Session
应用的音频需要适配谷歌原生Media Session,适配后即可被妙播识别为可投射的媒体音频,大部分音频应用均已适配,详情:https://dev.mi.com/xiaomihyperos/documentation/detail?pId=1602
2、集成妙播SDK,启动妙播选择器

通过Maven仓集成方式获取SDK包,具体配置如下:
repositories {
maven { url "xxxxx/仓库地址" }
}
dependencies {
implementation 'com.mi.milink:miplay-open-sdk:1.0.0'
}四、API参考
1、接入说明
1.1、创建MiplayAudioManager 并注册回调
MiplayAudioManager mManager = new MiplayAudioManager(context);
mManager.registerCastStateCallback(callback, handler);1.2、打开设备选择列表
mManager.openRoutePicker()2、接口概述
2.1、接口摘要
| 接口 | 描述 |
| CastStateCallback | 妙播投射状态回调接口,由开发者实现并传入,作用是监听妙播服务的投射状态,以便开发者进一步操作。 |
2.2、类摘要
| 接口 | 描述 |
| MiPlayAudioManager | 应用侧妙播服务管理类,完成初始化,资源释放,查询状态,打开设备列表等操作 |
MiPlayAudioManager
| 类信息 |
| 应用侧妙播服务管理类,完成初始化,资源释放,查询状态,打开设备列表等操作 |
公共方法摘要
| 类型 | 方法名称和描述 |
| constructor | MiPlayAudioManager(Context context, String ref) 构造方法 |
| boolean | supportMiPlay(Context context) 查询是否支持妙播服务 |
| int | getCastState() 获取投射状态 |
| void | registerCastStateCallback(CastStateCallback callback, Handler handler) 注册妙播服务回调 |
| int | openRoutePicker() 打开设备选择页面 |
| void | release() 释放资源 |
公共方法
- supportMiPlay
| 方法 |
| public static boolean supportMiPlay(Context context) 查询是否支持妙播服务 |
返回值
| 类型 | 描述 |
| boolean | 是否支持妙播服务,对于不支持的情况,返回false |
- getCastState
| 方法 |
| public int getCastState() 查询妙播服务的投射状态 |
返回值
| 类型 | 描述 |
| int | 返回妙播服务当前的投射状态 1: 投射中 0: 非投射中 |
- registerCastStateCallback
| 方法 |
| public void registerCastStateCallback(CastStateCallback callback, Handler handler) 注册妙播服务回调 |
参数
| 名称 | 描述 |
| CastStateCallback callback | 妙播投射状态回调接口,由开发者实现并传入,作用是监听妙播服务的投射状态,以便开发者进一步操作 |
| Handler handler | 回调发生的线程,可以为空,默认在主线程回调 |
- openRoutePicker()
| 方法 |
| public int openRoutePicker() 打开设备选择页面 |
返回值
| 类型 | 描述 |
| int | 返回打开页面的操作是否成功 0: 成功 -1: 本机妙播服务不支持 -2: 调用方无权限 |
- release()
| 方法 |
| public void release() 释放资源 |
CastStateCallback
| 接口信息 |
| 妙播投射状态回调接口,用于监听妙播服务的投射状态 |
公共方法摘要
| 返回值 | 方法名称和描述 |
| void | onCastStateChange(int state) 回调妙播服务当前的投射状态 1: 投射中 0: 非投射中 |
五、适配建议
1、入口位置
将音频投射入口放置在音频播放场景的页面内,如播放页

2、功能名称
使用“小米妙播”功能名称或标志

3、在Media Session中及时更新Meta信息
小米妙播会将系统中最新的音频媒体流转至扬声器,因此启动妙播选择器时,建议确保应用当前的音频媒体更新至Media Session中
上一篇:业务介绍(音频)
下一篇:业务介绍(视频)
文档内容是否有帮助?
有帮助
无帮助