
嗨,大家好,我是成祥茉樱!
智能电视或智能盒子,不知道多少?
在过去两年中,主要制造商生产的电视设备基本上都装有Android系统. 由于电视本身是Android系统,因此我们还可以在其上制作一些有趣的小工具.
今天推荐给所有人的是可以通过手机控制智能电视的应用程序. 当然,它必须是开源的.
应用名称: TvRemoteIME
尽管市场上有许多智能电视的免费商业应用程序,例如悟空和快速投影屏,它们非常易于使用,但是开源项目仍然值得我们参考和研究.
除基本控制外,TvRemoteIME本身还包括一些功能,例如: 应用程序的安装和操作,视频播放,文件系统浏览和下载.
想要体验但不想自己打包的学生可以在Github上下载最新版本的Apk安装包.
从名称中可以看到
TvRemoteIME. 它实际上将自身包装为输入方法. 要使用它,您需要为其设置设备的默认输入法. 这种设置实际上具有很多优点,例如: 输入法可以获得一些与输入和键相关的权限,并且存在保持活动的问题,一般的输入法服务不会轻易被系统杀死.
想要体验它的学生可以从上面提供的下载地址下载它,获取Apk,然后将其安装在要控制的设备上. 这可以是智能电视,智能盒子或普通的Android手机.
安装后,需要将其设置为系统的默认输入法. 当然,如果在设备上有用于设置输入法的设置页面,则可以直接选择它. 如果没有,您也可以使用adb命令进行设置.
adb shell ime set com.android.tvremoteime/.IMEService
一切设置正确后,您可以通过计算机或手机远程访问控制页面. 控制页面是一个网页,该地址是您安装了TvRemoteIME的设备的IP地址,端口是固定的9978.
例如,我当前设备的IP是192.168.1.199,即: 9978/.
之后,您可以在浏览器中查看上一个屏幕截图的控制页面并开始体验.

这提供了用于通过Http服务器进行操作的各种UI,与要控制的设备上的TvRemoteIME输入方法程序进行通信,然后TvRemoteIME执行特定的操作逻辑. 这种方法实际上非常好,只需要在要操作的设备上安装一个App,然后多个终端(Android,iOS,Web)就可以通过Http服务对其进行控制.
TvRemoteIME主要功能:
按钮控制文件浏览(安装,目录,打开)视频播放
接下来,分析其主要功能.
首先,请确保TvRemoteIME仅具有一种输入法,但要控制该方法是访问TvRemoteIME提供的本地Http服务.
您可以从文档和代码中看到,此服务基于开源项目NanoHTTPD. 它是一个简单的HTTP服务器智能电视安装app,非常简单,只需要一个文件即可提供完整的Http服务,可以说非常易于使用.
TvRemoteIME的所有通信操作均基于NanoHTTPD,例如: 提供操作页面,通信,上传和下载文件等. 它可以视为TvRemoteIME的基础.
如前所述,TvRemoteIME将自身包装为输入方法,因此可以通过InputConnection进行许多操作,例如按键控制.
关于控件,您可以在IMEService中看到相应的逻辑.

long eventTime = SystemClock.uptimeMillis();
InputConnection ic = getCurrentInputConnection();
switch (keyAction) {
case KEY_ACTION_PRESSED:
sendKeyCode(kc);
break;
case KEY_ACTION_DOWN:
if(ic != null) {
ic.sendKeyEvent(new KeyEvent(eventTime, eventTime,
KeyEvent.ACTION_DOWN, kc, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0,
KeyEvent.FLAG_SOFT_KEYBOARD | KeyEvent.FLAG_KEEP_TOUCH_MODE));
}
break;
case KEY_ACTION_UP:
if(ic != null) {
ic.sendKeyEvent(new KeyEvent(eventTime, eventTime,
KeyEvent.ACTION_UP, kc, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0,
KeyEvent.FLAG_SOFT_KEYBOARD | KeyEvent.FLAG_KEEP_TOUCH_MODE));
}
break;
}
具有视频播放功能的播放器还基于另一个开源项目AFAP Player,该项目在内部使用ijkPlayer实现.
播放地址通过NanoHTTPD传递,然后直接传递到播放器进行播放.
让我认为文档中的一个亮点是,它可以支持thunder / ed2k协议视频,该视频也是基于另一个开源项目MiniThunder,但实际操作不是很稳定,有些可以正常播放.
TvRemoteIME实际上是一个研究项目,它是可能的,仅需要输入法App,一个简单的设置,无需在手机上安装其他应用程序,因此Android和iOS可以被普遍使用.
但是我只是在鸡蛋中捡一根骨头,然后谈论它的缺点.
核心功能严重依赖于输入法,例如按键控制,输入,保持活动状态等.
输入法本身的想法很好,因此我们可以少考虑许多问题. 但是目前我了解这种情况,许多传统制造商生产的智能电视实际上无法设置输入法,这基本上切断了使用它的唯一方法. 即使安装第三方应用程序也已经非常困难,即使已安装,也无法将其设置为系统输入法.
当TvRemoteIME输入法的用户界面与其他输入法不兼容时,会显得有些丑陋.

除了依赖输入法服务外,其他想法基本上是正确的,对此没有挑剔.
由作者最近更新的
TvRemoteIME现在可以在不依赖于输入法的情况下使用,但是与控制相关的功能必须在不设置输入法的情况下使用. 实际上,这对整个应用程序的功能是致命的. 稍后智能电视安装app,您需要考虑如何使其保持活动和控制.
总体而言,TvRemoteIME仍然是一个相对完善的项目. 如果您有兴趣学习,仍然可以查看源代码.
但是,建议日常使用一些免费的商业应用程序.
示例:
这两个应用程序基本上可以满足我的日常需求.
您如何看待Android Smart TV?不妨在邮件区域进行讨论.
今天在公共帐户的背景下恢复“增长”,您将获得我编写的一些学习资料,还可以回复“ Plus Group”以共同学习和进步.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-257188-1.html
再一个盗版盛行
这个教授就一逗比
它仍然会嬉皮笑脸的试探