开发指南(音频)更新时间: 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

类信息
应用侧妙播服务管理类,完成初始化,资源释放,查询状态,打开设备列表等操作

公共方法摘要

类型方法名称和描述
constructorMiPlayAudioManager(Context context, String ref)
构造方法
booleansupportMiPlay(Context context)
查询是否支持妙播服务
intgetCastState()
获取投射状态
voidregisterCastStateCallback(CastStateCallback callback, Handler handler)
注册妙播服务回调
intopenRoutePicker()
打开设备选择页面
voidrelease()
释放资源

公共方法

  • 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

接口信息
妙播投射状态回调接口,用于监听妙播服务的投射状态

公共方法摘要

返回值方法名称和描述
voidonCastStateChange(int state)
回调妙播服务当前的投射状态
1: 投射中
0: 非投射中

五、适配建议

1、入口位置

将音频投射入口放置在音频播放场景的页面内,如播放页

2、功能名称

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

上传文件

3、在Media Session中及时更新Meta信息

小米妙播会将系统中最新的音频媒体流转至扬声器,因此启动妙播选择器时,建议确保应用当前的音频媒体更新至Media Session中

文档内容是否有帮助?
有帮助
无帮助