开发指南(音频)更新时间: 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中
文档内容是否有帮助?
有帮助
无帮助