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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,287評論 25 708
  • 霧籠罩,路迢迢。 花枝低垂,只待蜂來到。
    蘇蘇_a81f閱讀 265評論 0 0
  • 看標題,有些另類?待我詳細解釋一下哈。 ”那廂”,是怎么個意思? 那廂是獨立設計酒店。位于廈門半山林間,直面壯闊的...
    繁花塢閱讀 745評論 6 12
  • 不知道什么時候開始,喜歡說不知道這三個字,因為在越來越焦躁的生活中,突然出現了太多我不知道的事,比如現在,我要寫的...
    真的不知道了閱讀 257評論 0 0