智能电视变得越来越流行。 华为表示,4月份智能电视的发布已经推迟。 一加还表示,未来将布局智能电视。 小米已经是智能电视方向的先行者。 但仍有不少开发者将智能电视简单理解为手机屏幕的放大。 事实上,两者并不相同。
一、前言
你会慢慢发现身边的电视都变成了智能电视。 人们很容易接受智能电视更便宜的事实。
价格是一个不容忽视的敏感点。 客户自然会选择高品质、低价位的智能电视。 这似乎不合逻辑。 为什么选择技术落后、不允许联网的传统电视会更贵?
制造商从硬件中获得的利润是固定的。 小米发布“年轻人之一台电视”后,将用户数据掌握在自己手中,并通过搭建和运营自营广告、付费内容分发等服务来变现。 用服务收入补贴硬件成本,大大降低了智能电视的价格。
这很容易理解。 过去,他们只是制造商。 他们卖掉了一台电视,并从一台电视中赚钱。 除了需要提供的保修服务外,这是一次 *** 易。 而当电视可以连接到互联网时,就可以扩展更多的可能性。 您操作的每一步都会有广告体验、向您推荐的电视应用程序以及您在电视上观看的付费视频。 这些是服务费用。 制造商会从您那里获得价值,直到电视的使用寿命结束。
电视厂商开始从制造商向服务商转型。 智能电视是大势所趋,不可能回头。 未来可能会有厂商继续生产小众传统电视,但也只是小众。
回到技术上,对于智能电视系统来说android tv 开发 焦点控制,得益于中国的开放性,该系统拥有更大的市场份额,而其他Apple TV和Apple TV则相对小众。 此外,三星等厂商从去年开始也为新电视选配系统。
在智能电视领域,它是主流。
很多人对电视的技术印象仍然集中在移动开发上,但实际上它们是不同的。
2. 科技与电视
只要您是开发者,就可以轻松上手电视项目。 这是毫无疑问的。
但它并不完全相同。 电视的发展不能简单地理解为更大屏的手机。 还有一些细节需要打磨。
在这篇文章中,我将换个角度,分析一下电视开发中涉及到的一些技术点。
2.1 设计风格不同
电视最直观的感受就是屏幕大,但不能仅仅将其视为放大版的手机。 有一个根本的区别。
在设计电视UI时,您需要考虑是否在两到三米之外仍然可以看到该设计。 电视和手机的观看距离是不同的。
设计时要注意大块、留白、滚动、焦点效果等,了解其中的差异即可。
2.2 API 差异
它们都是系统,可以在手机上使用的同一套API也可以在智能电视上使用。 智能电视所使用的API可以看作是移动开发的补充。
举个最简单的例子,在手机上操作时,点击某个内容只有两种状态,正常状态和按下状态,而在电视上则有三种状态,不聚焦状态、聚焦状态和按下状态,这需要移动开发中根本不使用的东西:要支持的属性。
另外,还有一些对焦点的处理,比如焦点动画、焦点记录、焦点寻址等。虽然在进行方向操作时,下一次获取焦点的控制是基于就近原理计算的,但有时我们还是需要对其进行控制通过代码。 寻址效果。
TV开发中API的差异有很多,这里就不一一举例了。 其实很多效果都是可以参考实现的,后面会介绍。
2.3 涉及的工具
在TV开发中,也有一些工具可以提高我们开发的效率。
虽然智能电视本质上也是设备,但大多数电视和智能盒子在出厂时都关闭了调试端口。 如果与厂家合作或者在论坛上搜索,有一些特定的设备可以在特殊设置后打开ADB调试。 开启调试后,我们就可以通过adb进行连接,后续的调试就和普通手机开发没有什么区别了。 参考:《常用ADB命令》
电视调试有时很麻烦。 如果需求与具体硬件关联性不强,我们可以直接使用普通手机进行开发调试。
电视和手机的交互方式不同。 手机是通过触摸屏幕来控制的,而电视只能通过遥控器按钮来控制。 所以为了在手机上模拟电视遥控器的操作,这里推荐一个插件:,
您只需要保证开发设备和调试设备、ADB连接顺畅,通过它就可以实现遥控器的一些简单的上、下、左、右操作。
2.4 项目
它确实是一个开源的TV UI框架,可以用来快速实现UI效果,主要围绕。
国内TV App项目中,推荐效果基本不用。 就像设计一样,所有设计都转发文章,但没有被使用。 不过,这并不妨碍我们研究它的实现。
它提供了一个封装,封装了一些麻烦的问题,例如焦点记忆、焦点项放大、滚动过程中焦点块居中等,并且足够简单,可以开箱即用。
更大的问题是它是v17项目,也就是17。在国内环境下,TCL和联想还在生产4.2以下的电视和盒子。 换句话说,对于一个商业项目来说,如果想要完全依靠官方指导来开发app,那么部分设备市场就会被放弃。
但这并不是无法解决的缺陷。 在我的印象中,只是一些数据刷新()方法有API Level的要求。 所以你只需要自己实现这部分逻辑,就可以在V14设备上使用。
具体实现我就不贴代码了。 在网上搜索“V14”关键词就可以获得一些东西。
-:/…
2.5 音视频
智能电视虽然可以安装一些应用程序,但最终还是要回归本质,看电视。 大多数电视应用程序专注于音频和视频内容分发。
您能想到的每个主流视频应用程序都有电视版本。 电视发展不可避免地会遇到音视频问题。
关于音视频方向,找个开源库封装使用比较简单,但如果不了解细节就很难排查问题。 如果你想研究这个方向,推荐前爱奇艺音视频专家何俊林的《音视频开发》这本书。
如果让我对智能电视的音视频只提出一个建议的话,肯定是慎用硬解、慎用硬解、慎用硬解。
这很容易理解。 如今,智能电视比许多手机都便宜。 成本占比更大的是屏幕。 可想而知,它的其他硬件还不如几百元的小米手机。
当你使用硬解密时,在一些低端设备上的表现是不可控的,你会遇到黑屏、马赛克、花屏等非常恶心的问题。 所以如果你的经验不是那么丰富,建议直接使用软解。
2.6 投屏协议
对电视的真正需求是看电视。 任何强运营的需求对于电视来说都是伪需求。
智能电视接入互联网后,我们看电视不再局限于直播。 如果你想把手机上的内容投到电视上,这就涉及到投屏协议。
市场上有许多屏幕广播协议。 任何对截屏有一些想法的人都会定制一个截屏协议。 主流的只有DLNA和苹果这两个,在出厂时就已经是智能电视的标配了。
就像微信和手机的关系一样,如果某部手机退出微信进入后台,就不会收到消息。 用户只会说手机有问题,不会说微信有问题。 这两个协议对于智能电视来说也是一样的。
但管用与否又是另一回事了。 所有截屏协议都存在于两端:客户端和接收端。 智能电视出厂时已集成接收端的协议。 如果遇到不好用的问题,可以尝试安装“乐博投屏App”来解决。
在大多数情况下,我们更多地与协议的客户端打交道。 这里推荐一个支持大多数协议的开源项目。
是全平台的SDK,有清晰的文档和示例可供接入。 这里我就不详细解释了。
官方网站: /
:/
大多数主流视频应用都集成了投屏功能。 还有一些相对小众的应用,比如Quick Cast,可以将一些视频网站的内容投射到智能电视上进行观看。
屏幕投影必须在智能电视的技术栈中发光。
2.7 本地服务
还是为了解决电视上操作困难的问题。 例如,最简单的需求是将下载的蓝光高清电影复制到电视上观看。 手术并不容易。
因此,许多应用程序构建本地服务来方便用户在电视和其他设备之间传输文件。
在 上,有许多开源项目可供选择如何启动 HTTP 服务。
未经允许不得转载! 作者:admin,转载或复制请以超链接形式并注明出处天心神途传奇手游发布网。
原文地址:《来说说真正的Android TV开发技术栈》发布于:2024-03-16




还没有评论,来说两句吧...