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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章