Connect SDK 使用記錄

Connect SDK 開源框架(100%開源)
Beam Photos, Videos, Audio, and YouTube to the Big Screen
在這裏插入圖片描述
Beam Web Apps to the Big Screen
PROMOTE YOUR TV APP

相關特性
文檔:http://connectsdk.com/SupportedFeatures/
在這裏插入圖片描述

相關資料
https://github.com/ConnectSDK/Connect-SDK-Android-API-Sampler
https://github.com/ConnectSDK/Connect-SDK-Android-Core
http://connectsdk.com/docs/1-6-0/android/resuming-apps/

Connect SDK Android Api 相關文檔: http://connectsdk.com/apis/android/

導入相關

implementation 'com.connectsdk:connect-sdk-android:1.6.0'  // https://github.com/ConnectSDK/Connect-SDK-Android-Core
// 下面兩個庫,無法使用 Android Studio導入,
// 可以到這裏下載 https://github.com/ConnectSDK/Connect-SDK-Android-Core/tree/master/libs
implementation "org.java-websocket:Java-WebSocket:1.4.0"  // https://github.com/TooTallNate/Java-WebSocket
// https://github.com/jmdns/jmdns,

AndroidManifest.xml 導入一些配置

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 
 
<application
    ... ...
    <meta-data
         android:name="com.google.android.gms.version"
         android:value="@integer/google_play_services_version" />
    ... ...
</application>

掃描設備

參考API文檔:http://connectsdk.com/apis/1-6-0/android/discoverymanager/

mDiscoveryManager = DiscoveryManager.getInstance();
// mDiscoveryManager.setCapabilityFilters();
 
mDiscoveryManager.registerDefaultDeviceTypes();
// 設置配對      
mDiscoveryManager.setPairingLevel(DiscoveryManager.PairingLevel.ON);
// mDiscoveryManager.setPairingLevel(DiscoveryManager.PairingLevel.OFF);
 
mDiscoveryManager.addListener(discoveryManagerListener);
mDiscoveryManager.start(); // Start scanning for devices on the local network.
// mDiscoveryManager.stop(); // Stop scanning for devices.
 
// mDiscoveryManager.getAllDevices();
 
// 掃碼設備的回調
private DiscoveryManagerListener discoveryManagerListener = new DiscoveryManagerListener() {
    @Override
    public void onDeviceAdded(DiscoveryManager manager, ConnectableDevice device) {
    }
 
    @Override
    public void onDeviceUpdated(DiscoveryManager manager, ConnectableDevice device) {
    }
 
    @Override
    public void onDeviceRemoved(DiscoveryManager manager, ConnectableDevice device) {
    }
 
    @Override
    public void onDiscoveryFailed(DiscoveryManager manager, ServiceCommandError error) {
    }
};

連接設備

參考API文檔:http://connectsdk.com/apis/1-6-0/android/connectabledevice/

ConnectableDevice connDevice = ... ...;
connDevice.addListener(deviceListener);
connDevice.setPairingType(null);
connDevice.connect(); // 連接
 
 
connDevice.disconnect(); // 斷開連接
 
 
// 獲取一些相關屬性
connDevice.getId();
connDevice.getIpAddress();
 
 
// 連接設備的回調
private ConnectableDeviceListener deviceListener = new ConnectableDeviceListener() {
 
    @Override
    public void onDeviceReady(ConnectableDevice device) {
    }
 
    @Override
    public void onDeviceDisconnected(ConnectableDevice device) {
    }
 
    @Override
    public void onPairingRequired(
    	ConnectableDevice device, DeviceService service, DeviceService.PairingType pairingType) {
    }
 
    @Override
    public void onCapabilityUpdated(
    	ConnectableDevice device, List<String> added, List<String> removed) {
    }
     
    // 連接失敗
    @Override
    public void onConnectionFailed(ConnectableDevice device, ServiceCommandError error) {
    }
};

按鍵操控

參考API文檔:http://connectsdk.com/apis/1-6-0/android/keycontrol/

KeyControl keyControl;
 
// 各種按鍵操作
keyControl.back(null);
keyControl.ok(null);
keyControl.down(null);
keyControl.up(null);
keyControl.left(null);
keyControl.right(null);
keyControl.home(null);
keyControl.sendKeyCode(KeyCode.xxx, null);
 
// 自定義按鍵需要支持 (暫時未找到),比如我們的 菜單,關機菜單 等支持
// 因爲代碼是開源,到時候可以直接改改源碼試試
 
 
// 回調支持
new ResponseListener<Object>() {
 
    @Override
    public void onSuccess(Object response) {
    }
 
    @Override
    public void onError(ServiceCommandError error) {
    }
}

文本輸入
參考API文檔:http://connectsdk.com/apis/1-6-0/android/textinputcontrol/

TextInputControl
sendText (String input) // 發送按鍵
sendEnter () // 回車
sendDelete () // 刪除

應用相關
參考API文檔:http://connectsdk.com/apis/1-6-0/android/launcher/
參考文檔:http://connectsdk.com/docs/1-2/android/launch-tv-app/

音量控制
參考API文檔:http://connectsdk.com/apis/1-6-0/android/mediacontrol/

VolumeControl mVolumeControl = ... ...
 
mVolumeControl.setVolume(float volume, ResponseListener<Object> listener)
mVolumeControl.volumeDown(null);
mVolumeControl.volumeUp(null);

媒體控制
參考API文檔:http://connectsdk.com/apis/1-6-0/android/mediacontrol/


mMediaControl.seek(postion, new ResponseListener<Object>() {
 
    @Override
    public void onSuccess(Object response) {
    }
 
    @Override
    public void onError(ServiceCommandError error) {
    }
});
 
mMediaControl.stop(null);
mMediaControl.pause(null);
mMediaControl.play(null);
mMediaControl.next(null);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章