设备控制

操作账号下面的音乐主机

发送消息

介绍

发送指令消息给音乐主机,消息的内容是通过CreateMessage创建,消息创建请参考该类的文档

方法原型

/**
 * 发送消息给机器端
 *
 * @param topic        地址
 * @param phoneMessage 消息
 */
public void sendMessage(String topic, PhoneMessage phoneMessage)

调用

使用MqttContorl对象调用

参数介绍

  • topic:Deivie中的sendTopic

  • phoneMessage:消息的Java bean 对象,通过CreateMessage创建,请参考CreateMessage的介绍

使用CreateMessage创建消息

介绍

创建操作设备的消息PhoneMessage的java bean,然后通过MqttControl对象把消息发送出去

获取对象

通过该类的静态方法直接获取

public static CreateMessage getInstance() {
        ...
 }

音乐下一曲

创建播放下一首的消息,控制的是当前房间

方法原型

/**
*
* 创建播放下一首的消息
*
* @return 下一曲的CreateMessage
*/
public PhoneMessage musicNext();

音乐播放暂停

创建控制音乐播放暂停的消息,控制的是当前房间

方法原型

/**
* 创建播放暂停的消息
*
* @return 播放暂停的CreateMessage
*/
public PhoneMessage musicPlayOrPause();

音乐播放

创建控制音乐播放的消息,控制的是当前房间

方法原型

/**
* 创建播放的消息
*
* @return 播放的CreateMessage
*/
public PhoneMessage musicPlay();

音乐暂停

创建控制音乐暂停的消息,控制的是当前房间

方法原型

/**
* 创建暂停的消息
*
* @return 暂停的CreateMessage
*/
public PhoneMessage musicPause()

音乐上一首

创建控制音乐上一首的消息,控制的是当前房间

方法原型

/**
 * 创建播放上一首的消息
 *
 * @return 上一曲的CreateMessage
 */
public PhoneMessage musicPre();

设置房间

设置当前控制的房间,此方法只有双分区的才有用

方法原型

/**
 * 设置房间
 *
 * @param area 设置的房间   11:房间一   12:房间二    13:同步
 * @return 设置的CreateMessage
 */
public PhoneMessage musicArea(int area);

参数介绍

  • area:设置的房间号,CreateMEssage的常量

房间

参数名

参数值

区域一

AREA1

11

区域二

AREA2

12

同步

AREA_SYN

13

设置意图音源

设置意图音源,可以用来控制音乐主机的页面,控制的是当前房间

方法原型

/**
 * 设置意图音源
 *
 * @param flag 意图音源
 * @return 设置意图音源的CreateMessage
 */
public PhoneMessage musicFlag(int flag)

参数介绍

  • flag:需要设置的意图音源,参数如下

public static final int AREA_SYN = 13;//一键同步
public static final int FLG_LOCAL_MUSIC = 0;//本地
public static final int FLG_LOCAL_SD = 1;//tf
public static final int FLG_LOCAL_USB = 2;//usb
public static final int FLG_LOCAL_AUX1 = 3;//aux
public static final int FLG_local_dlna = 4;//dlna
public static final int FLG_LOCAL_BT = 5;//bt
public static final int FLG_LOCAL_FAVORITE = 6;//我的收藏
public static final int FLG_Local_XMLY = 7;//喜马拉雅
public static final int FLG_Local_All_MUSIC = 8;//所有音乐
public static final int FLG_Local_HISTORY = 9;//播放历史
public static final int FLG_Local_SEARCH = 10;//音乐搜索
public static final int FLG_LOCAL_SCENE = 11;//场景音乐
public static final int FLG_RTSP = 12;//声音共享
public static final int FLG_LOCAL_FM = 13;//收音机
public static final int FLG_NO_SOURCE = 14;//无音源
public static final int FLG_CLOUD_MUSIC = 15;//云音乐
public static final int FLG_AIRPLAY = 16;//AirPlay
public static final int FLG_NET_CHILD=17;//儿童

声音减少

把音乐主机的音量减少1,控制的是当前房间

方法原型

/**
 * 声音减少
 *
 * @return 声音减少的CreateMessage
 */
public PhoneMessage volumeMinus();

声音增加

把音乐主机的音量增加1,控制的是当前房间

方法原型

/**
 * 声音增加
 *
 * @return 声音增加的CreateMessage
 */
public PhoneMessage volumeAdd()

使用位置播放歌曲

播放主机当前列表的position首歌曲,控制的是当前房间

方法原型

/**
 * 使用位置播放歌曲
 *
 * @param position 歌曲的位置
 * @return 使用位置播放歌曲的CreateMessage
 */
public PhoneMessage playMusicPosition(int position)

参数介绍

  • position:需要播放歌曲的位置

使用音乐ID播放歌曲

使用音乐的ID,播放当前列表的歌曲,控制的是当前房间

方法原型

/**
 * 使用ID播放歌曲
 *
 * @param id 歌曲的ID
 * @return 使用ID播放歌曲的CreateMessage
 */
public PhoneMessage playMusicID(int id):

参数介绍

  • id:需要播放歌曲的音乐ID

EQ模式

创建设置播放器EQ模式的CreateMessage,控制的是当前房间

方法原型

/**
 * 设置EQ模式
 *
 * @param eqMode EQ模式
 * @return 设置EQ模式的CreateMessage
 */
public PhoneMessage musicEqMode(int eqMode)

参数介绍

eqMode:需要设置的EQ模式

模式

值(int)

普通

0

经典

1

爵士

2

摇滚

3

流行

4

播放模式

创建设置播放模式的CreateMessage,控制的是当前房间

方法原型

/**
 * 设置播放模式
 *
 * @param playMode 播放模式
 * @return 设置播放模式的CreateMessage
 */
public PhoneMessage musicPlayMode(int playMode);

参数介绍

  • playMode:设置的播放模式

播放模式

值(int)

顺序播放

0

随机播放

1

单曲循环

2

循环播放

3

收藏音乐

创建收藏当前播放音乐的CreateMessage,收藏的是当前房间的音乐

方法原型

/**
 * 收藏音乐
 *
 * @return 收藏的CreateMessage
 */
public PhoneMessage musicFavorite();

下载歌曲

创建下载当前播放音乐的CreateMessage,下载的是当前房间的音乐

方法原型

/**
 * 下载歌曲
 *
 * @return 下载消息的CreateMessage
 */
public PhoneMessage musicDownload();

设置播放进度

创建设置播放进度的CreateMessage,设置的是当前房间的音乐

方法原型

/**
 * 设置播放进度
 *
 * @param seek 播放进度
 * @return 设置播放进度的CreateMessage
 */
public PhoneMessage musicSeek(int seek)

参数介绍

  • seek:设置播放进度的时间,毫秒

设置设备名

设置机器的名称,同时也是区域一的名称

方法原型

/**
 * 设置设备名
 *
 * @param deviceName 设备名
 * @return 设置设备名的CreateMessage
 */
public PhoneMessage deviceName(String deviceName);

参数介绍

  • deviceName:需要设置的设备名

设置房间名

创建设置房间名的消息,设置房间二的名称需要双分区才会有作用

方法原型

/**
 * 设置房间名
 *
 * @param room     需要设置的房间
 * @param roomName 设置的房间名
 * @return 设置房间名的CreateMessage
 */
public PhoneMessage roomName(int room, String roomName);

参数介绍

  • room:需要修改的房间名的房间

房间

参数名

参数值

区域一

AREA1

11

区域二

AREA2

12

  • roomName:修改的房间名

修改蓝牙名和密码

创建修改蓝牙名称和密码的消息,蓝牙名和密码,可以一个为空,不可两个都为空

方法原型

/**
 * 修改蓝牙名和密码
 *
 * @param btName 蓝牙名称,可以为空,为空表示不修改
 * @param btPwd  蓝牙密码,可以为空,为空表示不修改
 * @return 设置蓝牙名称和密码的CreateMessage
 */
public PhoneMessage btNameAndPwd(String btName, String btPwd);

参数介绍

  • btName:新的蓝牙名,可以为空,为空表示不修改

  • btPwd:新的蓝牙密码,可以为空,为空表示不修改

连接WiFi

创建控制音乐主机连接WiFi的消息

方法原型

/**
 * 连接WiFi
 *
 * @param wifiName WiFi名
 * @param wifiPwd WiFi密码
 * @return 连接WiFi的CreateMessage
 */
public PhoneMessage connWiFiInfo(@NonNull String wifiName, String wifiPwd);

参数介绍

  • wifiName:需要连接WiFi的名称,不可为空

  • wifiPwd:需要连接WiFi的密码,无密码的可以直接为空

设置机器休眠时间

创建设置机器休眠时间的消息

方法原型

/**
 * 设置机器休眠时间
 *
 * @param time 时间
 * @return 设置机器休眠时间的CreateMessage
 */
public PhoneMessage deviceSleepTime(int time);

参数介绍

  • time:机器休眠的时间,毫秒值,设置0为不休眠

控制设备开关机

创建控制设备开关机的消息,可以关机也可以开机

方法原型

/**
 * 控制设备开关机
 *
 * @param isPower 开关机的状态   0 : 关机   1 : 开机
 * @return 控制设备开关机的CreateMessage
 */
public PhoneMessage devivePower(@NonNull int isPower);

参数介绍

  • isPower:控制开机还是关机

指令

isPower(int)

关机

0

开机

1

设置BASS音量

创建控制主机BASS音量的消息

方法原型

/**
 * 设置BASS音量
 *
 * @param bassVolume BASS的音量
 * @return 设置BASS音量的CreateMessage
 */
public PhoneMessage musicBass(@NonNull int bassVolume);

参数介绍

  • bassVolume:设置BASS的音量,音量值为0~15

设置TREBLE音量

创建控制主机TREBLE音量的消息

方法原型

/**
 * 设置TREBLE音量
 *
 * @param trebleVolume TREBLE的音量
 * @return 设置TREBLE音量的CreateMessage
 */
public PhoneMessage musicTreble(@NonNull int trebleVolume);

参数介绍

  • trebleVolume:设置TREBLE的音量,音量值为0~15

更新设备

当发现机器段有更新的时候可以通过这个方法更新音乐主机

方法原型

/**
 * 更新设备
 *
 * @return 更新设备的CreateMessage
 */
public PhoneMessage deviceUpdate();

更新播放信息

通知播放器更新播放信息,机器段会发送消息到手机端来

方法原型

/**
 * 更新播放信息
 *
 * @return 更新播放信息的CreateMessage
 */
public PhoneMessage updatePlayInfo()

最后更新于