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);