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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,448评论 25 707
  • 雾笼罩,路迢迢。 花枝低垂,只待蜂来到。
    苏苏_a81f阅读 254评论 0 0
  • 看标题,有些另类?待我详细解释一下哈。 ”那厢”,是怎么个意思? 那厢是独立设计酒店。位于厦门半山林间,直面壮阔的...
    繁花坞阅读 716评论 6 12
  • 不知道什么时候开始,喜欢说不知道这三个字,因为在越来越焦躁的生活中,突然出现了太多我不知道的事,比如现在,我要写的...
    真的不知道了阅读 150评论 0 0