设备发现

Overview

设备管理包含了,设备的上线、下线、删除等操作,同时也可以通过Id来获取到对应的设备, LPDeviceManager 提供了管理设备的API

server_error server_error

API Reference

设备搜索

初始化

  • 接口说明

    初始化管理信息

      init(LPDeviceManagerParam param)
    
  • 参数

名称 类型 接口说明
param String 构造必须的信息,如:设备上下文等
  • 返回值

  • 示例代码

      LPDeviceManagerParam param = new LPDeviceManagerParam();
      param.context = context;//application context
    
      LPDeviceManager lpDeviceManager = LPDeviceManager.getInstance();
      lpDeviceManager.init(param);
    

搜索设备

  • 接口说明

    搜索周边的设备

      search(String[] key)
    
  • 参数

名称 类型 接口说明
key String[] 默认传空,客户如有自定义组播搜索设备关键字则传入, 支持多个key
  • 返回值

  • 示例代码

          LPDeviceManager lpDeviceManager = LPDeviceManager.getInstance();
          lpDeviceManager.init(param);
          lpDeviceManager.addObserver(this);
    //        lpDeviceManager.search(new String[]{"xxxxxxx"});//custom search key
          lpDeviceManager.search(null);
    

停止搜索设备

  • 接口说明

      stop()
    
  • 参数

  • 示例代码

      @Override
     public void onTerminate() {
         super.onTerminate();
         LPDeviceManager.getInstance().stop();
     }
    

添加代理

添加观察者

  • 接口说明

      addObserver(LPDeviceManagerObserver observer)
    
  • 参数

名称 类型 接口说明
observer LPDeviceManagerObserver 要接收设备上下线通知的对象
  • 返回值

  • 示例代码

      LPDeviceManager lpDeviceManager = LPDeviceManager.getInstance();
      lpDeviceManager.init(param);
      lpDeviceManager.addObserver(this);
    //        lpDeviceManager.search(new String[]{"xxxxxxx"});//custom search key
      lpDeviceManager.search(null);
    

移除观察者

  • 接口说明

      removeObserver()
    
  • 参数

名称 类型 接口说明
observer LPDeviceManagerObserver 要接收设备上下线通知的对象
  • 返回值

  • 示例代码

      @Override
     public void onTerminate() {
         super.onTerminate();
    
         LPDeviceManager.getInstance().stop();
         LPDeviceManager.getInstance().removeObserver();
     }
    

获取设备

根据设备Id获取设备

  • 接口说明

      deviceForID(String UUID)
    
  • 参数

名称 类型 接口说明
UUID String 设备UUID
  • 返回值
类型 接口说明
LPDevice 设备对象
  • 示例代码

      LPDevice lpDevice = LPDeviceManager.getInstance().deviceForID(UUID);
    

获取主设备列表

  • 接口说明

      getMasterDevices()
    
  • 参数

  • 返回值

类型 接口说明
List 主设备列表
  • 示例代码

      List<LPDevice> deviceList = LPDeviceManager.getInstance().getMasterDevices();
    

根据设备IP获取设备

  • 接口说明

      deviceForIP(String IP)
    
  • 参数

名称 类型 接口说明
IP String 设备IP
  • 返回值
类型 接口说明
LPDevice 设备对象
  • 示例代码

      LPDevice device = LPDeviceManager.getInstance().deviceForIP(ip);
    

根据设备MAC获取设备

  • 接口说明

      deviceForMac(String MAC)
    
  • 参数

名称 类型 接口说明
MAC String 设备MAC
  • 返回值
类型 接口说明
LPDevice 设备对象
  • 示例代码

      LPDevice device = LPDeviceManager.getInstance().deviceForMac(MAC);
    

根据主设备Id获取子设备列表

  • 接口说明

      getSlaveDevices(String uuid)
    
  • 参数

名称 类型 接口说明
UUID String 设备UUID
  • 返回值
类型 接口说明
List 子设备列表
  • 示例代码

      List<LPDevice> allSlaveDevices = LPDeviceManager.getInstance()
                 .getSlaveDevices(lpDevice.getDeviceStatus().getUUID());
    

子设备获取其主设备

  • 接口说明

      getMasterDeviceWithSlaveDevice(LPDevice slaveDevice)
    
  • 参数

名称 类型 接口说明
device LPDevice 设备
  • 返回值
类型 接口说明
LPDevice 设备对象
  • 示例代码

      LPDevice masterDevice = LPDeviceManager.getInstance().getMasterDeviceWithSlaveDevice(slaveDevice);
    

App Log输出开关

  • 接口说明

      debugSwitch(BOOL switch)
    
  • 参数

名称 类型 接口说明
logOn BOOL log开关
  • 返回值

设备上下线代理

  • LPDeviceManagerObserver
名称 类型 接口说明
onLPDeviceOnline LPDevice 设备上线
onLPDeviceOffline LPDevice 设备下线
onLPDeviceUpdate LPDevice 设备更新

getPlayer()

  • 接口说明

    Get Device's player.

  • 参数

  • 返回值

类型 接口说明
LPDevicePlayer Player object

getPreset()

  • 接口说明

    Get Preset object

  • 参数

  • 返回值

类型 接口说明
LPDevicePreset Preset object

getAlarm()

  • 接口说明

    Get alarm object

  • 参数

  • 返回值

类型 接口说明
LPDeviceAlarm Alarm object

getTimer()

  • 接口说明

    Get shutdown timer object

  • 参数

  • 返回值

类型 接口说明
LPDeviceTimer Shutdown timer object

getPassThrough()

  • 接口说明

    Get pass through object

  • 参数

  • 返回值

名称 类型 接口说明
mcu LPPassThrough Pass through object

getOTA()

  • 接口说明

    Get OTA object

  • 参数

  • 返回值

类型 接口说明
LPDeviceOTA OTA object

Property

名称 类型 接口说明
player LPDevicePlayer Player object
preset LPDevicePreset Preset object
status LPDeviceStatus Device status object
alarm LPDeviceAlarm Alarm object
timer LPDeviceTimer Timer object
mediaInfo LPMediaInfo Media info object
deviceInfo LPDeviceInfo Device info object

设备当前信息和查询

LPDeviceInfo

设备播放的当前信息和查询

属性

名称 类型 接口说明
playStatus String Current play status
playMode int Play mode
mediaType String Media Type
trackSource String Track source
... ... ...
  • currentQueue

    当前正在播放的歌单queue名称,需要调用updateCurrentPlayInfo或browserQueue方法,才会赋值

  • currentPlayIndex

    当前播放歌曲在当前播放歌单中的索引,需要调用updateCurrentPlayInfo或browserQueue方法,才会赋值

方法

Browse Queue

  • 接口说明

    查询设备信息

      void browseQueue(String queueName LPDevicePlayerListener listener);
    
  • 参数

名称 类型 接口说明
queueName String 值是 "TotalQueue", "CurrentQueue", "USBDiskQueue" 或者歌单的queue 名称
  • 返回值

  • 示例代码

      currDevice.getPlayer().browseQueue("CurrentQueue", new LPDevicePlayerListener(){
          ...
      })
    

LPMediaInfo

Function

Property

名称 类型 接口说明
title String Title
artist String Artist
album String Album
... ... ...

LPDeviceInfo

Property

名称 类型 接口说明
playStatus String Current play status
playMode int Play mode
mediaType String Media Type
trackSource String Track source
... ... ...

LPDeviceStatus

Function

Property

名称 类型 接口说明
UUID String UUID
IP int IP
WiFiStrength float Wi-Fi signal strength
MAC String MAC
SSID String SSID
friendlyName String Device's friendly name
version String Firmware version
language int Prompt tone language
release String Compiled date

Other Definitions

LPPlayMode

类型 接口说明
LP_LISTREPEAT Loop playback
LP_SINGLEREPEAT Single cycle
LP_SHUFFLE Shuffle
LP_SHUFFLEREPEAT Shuffle repeat
LP_DEFAULT Default

LPSpotifyPlayMode

类型 接口说明
LP_SPOTIFY_LISTREPEAT Loop playback
LP_SPOTIFY_SINGLEREPEAT Single cycle
LP_SPOTIFY_SHUFFLEREPEAT Shuffle repeat
LP_SPOTIFY_SHUFFLE Shuffle
LP_SPOTIFY_DEFAULT Default
LP_SPOTIFY_SINGLE_REPEAT_SHUFFLE Shuffle single repeat

LPDeviceChannel

类型 接口说明
LPChannel_stereo Stereo
LPChannel_left Left channel
LPChannel_right Right channel

LPPlayStatus

类型 接口说明
LP_PLAYER_STATE_PLAYING Playing
LP_PLAYER_STATE_STOPPED Stop
LP_PLAYER_STATE_PAUSED_PLAYBACK Pause
LP_PLAYER_STATE_TRANSITIONING Transitioning
LP_PLAYER_STATE_NO_MEDIA_PRESENT No media present

LPRoomState

类型 接口说明
LP_ROOM_MASTER Master speaker
LP_ROOM_SLAVE Slave speaker

LPMediaObj

类型 接口说明
title 名称
mediaID Server ID
serverIndex index

results matching ""

    No results matching ""