title: 多房间控制SDK for Android(V 0.2)
tags: AuxdioProtocol,SDK,API文档说明
-
功能概述
本SDK集成了多房间多设备的控制操作,控制的设备类型主要有DM836II、DM838、AM8318、AM8328四种设备。
主要功能有 搜索设备、查询设备分区/房间、查询设备音源、查询分区/房间状态、查询分区房间开关机、查询设备目录、查询设备歌曲、播放设备歌曲、查询网络电台、播放网络电台、添加/删除自定义电台到设备、播放模式、音量等一系列功能
-
示例演示
-
1.获取设备广播实例,搜索设备
```
AuxUdpBroadcast.getInstace() // 获取设备广播实例
.setSearchDevicePeriod(5000) // 设置搜索设备周期(每5s查询一次)
.searchDevice(this); // 搜索设备,并实现AuxSreachDeviceListener接口
```
-
2.获取设备单播实例,设置控制设备
```
AuxUdpUnicast.getInstance() // 获取设备单播实例
.setControlDeviceEntity(auxDeviceEntity); // 设置控制设备
```
-
3.获取设备分区/房间列表
```
AuxUdpUnicast.getInstance() // 获取设备单播实例
.requestDeviceRoomList(deviceEntity.getDevIP(), this); //请求设备分区/房间列表
```
-
4.查询设备分区/房间状态
AuxUdpUnicast.getInstance() // 获取设备单播实例 .setRequestRoomStatePeriod(5000) //设置查询分区/房间的时间周期(每5s查询一次) .requestDeviceRoomState(deviceEntity.getDevIP(),this); // 请求设备房间列表
-
5.获取设备音源列表
```
AuxUdpUnicast.getInstance() // 获取设备单播实例
.requestDeviceSourceList(deviceEntity.getDevIP(), this) // 请求设备音源列表
```
-
6.其他...
- 查询设置操作(查询分区/房间状态、查询/设置 房间/分区开关机、查询节目名称、查询播放状态、查询/设置音源、查询/设置静音状态、查询/设置播放模式)
- 控制房间操作(音源切换、播放/暂停、上一曲、下一曲、播放电台、播放设备歌曲、音量调节、播放模式切换等操作)
-
广播操作
-
获取设备广播实例
```
AuxUdpBroadcast.getInstace();
```
-
搜索设备
searchDevice(AuxSreachDeviceListener listener),listener 回调搜索到的设备
AuxUdpBroadcast auxUdpBroadcast = AuxUdpBroadcast.getInstace(); auxUdpBroadcast.searchDevice(new AuxSreachDeviceListener() { @Override public void onSreachDevice(AuxDeviceEntity auxDeviceEntity) { //auxDeviceEntity 搜索到的设备 } });
或者
auxUdpBroadcast.searchDevice(this);//需要实现接口
-
设置搜索设备监听
setSreachDeviceListener(AuxSreachDeviceListener listener) ,listener 监听搜索到的设备
auxUdpBroadcast.setSreachDeviceListener(this);
-
设置搜索设备的搜索周期
setSearchDevicePeriod(int period),period小于0,则搜索一次,否则间隔period毫秒搜索一次
auxUdpBroadcast.setSearchDevicePeriod(2000);
-
设置音效改变监听器
setSoundEffectChangedListener(AuxDeviceStateChangedListener.SoundEffectChangedListener listener),listener 监听音效改变
auxUdpBroadcast.setSoundEffectChangeListener(this);
-
设置电台连接状态监听器
setRadioConnectListener(AuxRadioActionListener.RadioConnectListener listener),listener电台连接状态监听
auxUdpBroadcast.setRadioConnectListener(this);
-
设置设备状态改变监听
setDeviceStateChangedListener(AuxDeviceStateChangedListener listener),listener 监听设备状态(音源改变、播放状态改变、播放节目源改变、播放模式、USB插入拔出)
auxUdpBroadcast.setDeviceStateChangeListener(this);
-
单播操作
-
获取设备单播实例
AuxUdpUnicast.getInstance()
-
查询设备版本
requestDeviceVersion(AuxRequestDeviceVersionListener listener) ,listener设备版本监听
auxUdpUnicast.requestDeviceVersion(listener);
-
设置当前控制的设备
setControlDeviceEntity(AuxDeviceEntity controlDeviceEntity) ,controlDeviceEntity 设备对象
auxUdpUnicast.setControlDeviceEntity(controlDeviceEntity);
-
获取控制的设备对象
getControlDeviceEntity() ,未调用setControlDeviceEntity()方法,则返回为空
auxUdpUnicast.getControlDeviceEntity();
-
设置控制的分区/房间
setAuxControlRoomEntities(AuxRoomEntity[] auxControlRoomEntities),auxControlRoomEntities 分区/房间数组,可以同时控制多个分区/房间
auxUdpUnicast.setAuxControlRoomEntities(auxControlRoomEntities);
-
获取控制的分区/房间
getAuxControlRoomEntities() ,返回值为AuxChannelEntity[]
auxUdpUnicast.getAuxControlRoomEntities();
-
查询设备分区/房间列表
requestDeviceRoomList(String devIP,AuxRoomStateChangedListener listener),devIP 设备IP,listener 分区改变监听
auxUdpUnicast.requestDeviceRoomList(devIP,listener);
-
设置查询设备分区/房间状态的查询周期
setRequestRoomStatePeriod(int period) ,period小于1000,则间隔1s查询一次,否则间隔period毫秒搜索一次
auxUdpUnicast.setRequestRoomStatePeriod(period);
-
查询设备分区/房间状态
requestDeviceRoomState(String devIP,AuxRoomStateChangedListener listener),devIP 设备IP,listener 分区改变监听
auxUdpUnicast.requestDeviceRoomState(devIP,listener);
-
查询设备目录和歌曲列表
requestDevicePlayList(String devIP,AuxRequestPlayListListener listener), devIP 设备IP,listener 查询设备歌曲监听器
auxUdpUnicast.requestDevicePlayList(devIP,listener);
-
查询设备音源列表
requestDeviceSourceList(String devIP,AuxRequestSourceListener listener), devIP 设备IP,listener 查询设备音源监听器
auxUdpUnicast.requestDeviceSourceList(devIP,listener);
-
查询分区开关机
requestRoomOnOffState(AuxRoomStateChangedListener.RoomOnOffListener listener)
auxUdpUnicast.requestRoomOnOffState(listener);
-
设置分区开关机
setRoomOnOffState(boolean isOn),isOn 开关机状态,true为开机,false为关机
auxUdpUnicast.setRoomOnOffState(isOn);
-
设置音源别名
setSourceName(int srcID, String newName),srcID 音源ID,newName 音源名
auxUdpUnicast.setSourceName(srcID,newName);
-
查询分区音量值
requestVolume(AuxChannelEntity[] channelEntities, AuxControlActionListener.ControlVolumeListener listener),channelEntities 分区/房间数组,listener 音量值监听
auxUdpUnicast.queryVolume(channelEntities,listener);
-
设置分区音量值
setVolume(AuxChannelEntity[] roomEntities, int volume),roomEntities 分区/房间数组,volume 音量值(0~100)
auxUdpUnicast.setVolume(roomEntities,volume);
-
查询分区音源ID
requestSrcID(AuxRoomEntity[] roomEntities, AuxControlActionListener.ControlSrcIDListener listener) ,roomEntities 分区/房间数组,listener 音源ID监听
auxUdpUnicast.requestSrcID(roomEntities,listener);
-
设置分区音源ID
setSrcID(AuxRoomEntity[] roomEntities, int srcID),roomEntities 分区/房间数组,srcID 音源ID
auxUdpUnicast.setSrcID(roomEntities,srcID);
-
查询音效
requestSoundEffect(AuxRoomEntity[] roomEntities, AuxControlActionListener.SoundEffectListener listener),roomEntities 分区/房间数组,listener 音效监听
auxUdpUnicast.requestSoundEffect(roomEntities,listener);
-
设置音效
setSoundEffect(AuxRoomEntity[] roomEntities, int SoundEffect),roomEntities 分区/房间数组,SoundEffect 音效值
auxUdpUnicast.setSoundEffect(roomEntities,SoundEffect);
-
查询播放模式
requestPlayMode(AuxRoomEntity[] roomEntities, AuxControlActionListener.ControlPlayModeListener listener) ,roomEntities 分区/房间数组,listener 播放模式监听
auxUdpUnicast.requestPlayMode(roomEntities,listener);
-
设置播放模式
setPlayMode(AuxRoomEntity[] roomEntities, int playMode) ,roomEntities 分区/房间数组,playMode 播放模式值
auxUdpUnicast.setPlayMode(roomEntities,playMode);
-
查询播放状态
requestPlayState(AuxRoomEntity[] roomEntities, AuxControlActionListener.ControlPlayStateListener listener) ,roomEntities 分区/房间数组,listener 播放状态监听
auxUdpUnicast.requestPlayState(roomEntities,listener);
-
设置播放状态
setPlayState(AuxChannelEntity[] roomEntities, int playState) ,roomEntities 分区/房间数组,playState 播放状态值
auxUdpUnicast.setPlayState(roomEntities,playState);
-
查询静音状态
requestMuteState(AuxChannelEntity[] roomEntities, AuxControlActionListener.ControlMuteStateListener listener) ,roomEntities 分区/房间数组,listener 静音状态监听
auxUdpUnicast.queryMuteState(roomEntities,listener);
-
设置静音状态
setMuteState(AuxChannelEntity[] roomEntities, boolean isMute) ,roomEntities 分区/房间数组,isMute 是否为静音,true为静音,false为不静音
auxUdpUnicast.setMuteState(roomEntities,isMute);
-
上一曲播放
prevProgram(AuxChannelEntity[] roomEntities) ,roomEntities 分区/房间数组
auxUdpUnicast.prevProgram(roomEntities);
-
下一曲播放
nextProgram(AuxChannelEntity[] roomEntities) ,roomEntities 分区/房间数组
auxUdpUnicast.next(roomEntities);
-
查询播放的节目名称
requestProgramName(AuxChannelEntity[] roomEntities, AuxControlActionListener.ControlProgramNameListener listener),roomEntities 分区/房间数组,listener节目名称监听
auxUdpUnicast.requestProgramName(roomEntities,listener);
-
添加一个网络电台
addNetRadio(AuxNetRadioEntity radioEntity) ,radioEntity电台对象
auxUdpUnicast.addNetRadio(radioEntity);
-
删除一个网络电台
delNetRadio(AuxNetRadioEntity radioEntity) ,radioEntity电台对象
auxUdpUnicast.delNetRadio(radioEntity);
-
获取电台数据
requestRadioData(AuxRequestRadioListener listener),listener电台监听器
auxUdpUnicast.requestRadioData(listener);
-
播放网络电台
playRadio(int modelID, AuxNetRadioEntity radioEntity) modelID模块ID,radioEntity 电台对象
auxUdpUnicast.playRadio(modelID,radioEntity);
-
播放本地音乐
playSong(AuxMusicEntity auxMusicEntity) , auxMusicEntity 音乐对象
auxUdpUnicast.playSong(auxMusicEntity);
-
属性定义
-
音源ID定义
| 音源 | 值 |
| --------- | ---- | --- | --- |
| Internal Music(内置音乐) | 0x01 |
| Net Paging(网络寻呼) | 0x02 |
| FM | 0x11 |
| TUNER | 0x21 |
| TV | 0x31 |
| DVD | 0x41 |
| AUX1 | 0x51 |
| AUX2 | 0x52 |
| MP3(USB) | 0x81 |
| SD | 0x91 |
| BLUETOOTH | 0xA1 |
| DLNA | 0xB1 |
| Net Radio | 0xC1 |
| Net Music | 0xD1 |
-
音效ID定义
| 音效 | 值 |
| --------- | ---- | --- | --- |
| Normal(标准) | 0x01 |
| Pop(流行) | 0x02 |
| Classical(古典) | 0x03 |
| Jazz(爵士) | 0x04 |
| Rock(摇滚) | 0x05 |
| Vocal(人声) | 0x06 |
| Metal(金属) | 0x07 |
| Sentimental(伤感) | 0x08 |
| Dance(舞曲) | 0x09 |
| Custom(自定义) | 0x0A | -
播放模式定义
播放模式 值 单曲播放 0x01 单曲循环 0x02 顺序播放 0x03 列表循环 0x04 随机播放 0x05 -
播放状态定义
播放状态 值 播放 0x01 暂停 0x02