Auxdio SDK for Android


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

你可能感兴趣的:(Auxdio SDK for Android)