Android电视三屏互动实行过程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android电视三屏互动实行过程

Android电视三屏互动实行过程 渐暴露出在鼠标、手势、语音等输入上的缺陷,这就使得人手一台的手机或Pad来操控电视成为一种可能,同时利用三屏互动技术还是可以实现电视、手机、Pad上面的内容共享,实时传输等功能。公司市场调查表明,三屏互动技术的开发和实现已迫在眉睫,且对今后智能电视的开发起着重要作用。 一、涉及的关键技术 三屏互动的制作过程中主要运用的网络通信技术包括:IP多播技术、HTTPWebServer技术和Socket套接字技术。它们分别用于手机对电视的局域网内检索、将手机端媒体内容甩屏给电视播放、进程间的消息通信。 虚拟驱动技术:用于在电视端模拟实现手机端发送过来的虚拟按键、鼠标、传感器消息;多媒体播放技术:用于在手机端和电视端分别播放手机端的多媒体文件;语音识别和合成技术:分别用于识别手机端的用户录音数据和合成电视端需要播报的文字内容。 二、三屏互动总体设计 对于Android和Linux双系统的智能电视来说,三屏互动的原理框图如图1所示,手机端负责检索和连接电视,并将手机的虚拟按键、鼠标、手势、传感器和语音数据发送给智能电视端的后台控制服务(ControlService),并开启一个HttpWebServer供智能电视端的Linux播放接口下载并播放手机SD卡内的媒体文件。智能电视Android端主要负责接收手机端的消息,并分别处理或传给Linux端的播放接口。智能电视Linux端主要负责接收和播放ControlService传过来的媒体资源,并响应虚拟驱动设备的消息映射。 三、手机端接口设计与实现 (一)检索和连接部分 1.依据设计思想,采用IP多播技术进行手机对电视检索的设计,然后再运用TCP单播建立电视与手机的一对一的可靠连接。手机端作为多播服务器端,首先发起检索的多播请求,并等待电视回复平台名和IP地址。 2.在手机端检索到电视列表后,如果手机端用户在电视IP列表点击某一IP选项,主程序将另开一个线程专门负责与该IP对应的电视建立一对一的连接。当然,这其中需要电视端先开启连接的服务器端,然后在对应端口监听来自手机端的连接请求。 (二)虚拟遥控部分 当手机和电视建立连接后,手机端UI程序首先捕获用户按下Button消息,然后将它转换为电视需要的按键消息,通过之前已经建立好连接的socket发送给电视。 2.电视鼠标的滑动和手势的判断都是手机端UI程序通过系统捕获触摸屏滑动数据来模拟鼠标和手势的移动的数据,然后将移动的数据(包括方向和距离)打包成滑动消息,通过socket发送给电视端。 3.将智能手机中自带的重力传感器产生的感应数据传给电视,来模拟一些Android游戏操作。 4.通过手机端录入语音数据传给电视的语音服务器来进行语音识别操作和控制。 (三)甩屏部分 手机甩屏部分主要实现手机文件的过滤和预览,实现本地多媒体文件的播放,以及开启一个Http的WebServer供电视端下载手机资源,最后就是将手机本地中的多媒体文件以url形式传输给电视。这个模块是我们三屏互动中实现资源共享的一个主要的功能。它可以将手机端的文件“甩”给电视,然后在电视上播放。 四、智能电视端接口设计与实现 (一)ControlService的设计 我们的智能电视中,ControlService处于电视Android端,作为一个服务运行在系统后台,主要设计如下几个功能:(1)在手机端发起多播检索消息后,通过ControlService的UDP多播客户端回应消息给手机;(2)在检索后,作为手机和电视通信的TCP服务器端,可以保证多个手机同时连接一台电视;(3)将虚拟遥控、鼠标和甩屏命令等处理组装后发送给UserService服务线程;(4)将语音数据发送给语音服务器和接收识别结果,同时将结果反馈给AndroidUI处理。 (二)语音识别处理 目前国内中文语音识别和合成最好的要数科大讯飞的语音引擎,该公司对于智能电视的语音识别库有两套方案。一种是打包在手机端程序,在手机端识别后发送文字到电视端;另外一种是在手机发送语音数据到电视,电视再转发给云端语音服务器,由云端服务器来识别语音数据,再将处理结果反馈给电视端。目前我们就是采用后者的解决方案。 (三)虚拟按键在linux端的获取 为了能在Linux主进程中接受虚拟按键消息,需要在Main函数中增加一个虚拟按键的读取线程。 该线程主要工作流程如下:(1)获取虚拟按键文件节点描述符;(2)阻塞读取虚拟按键文件节点的按键数据;(3)映射按键码;(4)发送按键映射码给上层处理。 (四)UserService和播放接口设计 UserService主要用来在Linux端接收Andro

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档