android mediaplyer 让画面停留到最后一帧_Android的开机logo动画,你了解吗?

本文详细介绍了智能电视开机时LOGO和动画的配置要求,包括分辨率限制、图片格式、文件存放位置、在线升级流程以及不同格式(zip、ts)动画的播放机制和常见问题。重点讨论了zip格式动画的制作细节和ts视频作为动画的优缺点,以及遇到的如黑屏、启动提示等问题的解决方案。
摘要由CSDN通过智能技术生成

关于开机logo动画总结

一、 开机logo

1、2KUI下分辨率最大只支持1920x1080,超过该分辨率,logo会显示黑屏。同时logo图片内存不能大于512kb。

2、logo存放在tvconfig/下,手动可以直接替换tvconfig/boot0.jpg,重启生效。

3705e477d69ba397f8dc04252823bc6f.png

3、在线升级替换logo其实也是替换tvconfig/boot0.jpg文件,只是由于权限问题不能直接替换,需要通过脚本实现,先把boot0.jpg先拷到/tvcustomer/Customer/下。

0ad2335a7a210495dd4a17dd96758aec.png

4、目前Mstar平台只能支持jpg格式图片。

二、 开机动画-zip格式

1、 zip格式动画制作。bootanimation.zip包括一个文件两个目录

4b64be5b81c2b3903e82283fb4b719ca.png

part0:第一阶段动画图片目录。

part1: 第二阶段动画图片目录。

fff5cae1e42d9a6bf5cb8ac11a6b4e0b.png

注意:part0和part1中的文件可以是jpg和png格式,建议使用png格式,清晰度要高一些。文件名命名长度必须保持一致,同时2KUI分辨率最大支持1920x1080,否则动画会黑屏。

desc.txt:动画属性描述文件。

2dbea57778aa432293440d1c44e4c509.png

注意:上图所示:

1920 1080 8:1920 1080分别是分辨率地长和宽,8表示每秒播放多少帧即帧率。

p 1 0 part0:P为标志位;1表示循环次数;0:为阶段切换间隔时间;part0:目录

还有一种特殊的用法:

p 0 10 part1:这里面的那个10代表着播放完part1文件夹内的图片一遍之后稍作停顿,然后再循环播放一遍,再停顿少许,再播放,再停顿稍许·········重复下去。如果想作出一些特殊的效果,可以活用这些命令,然后分配不同的图片在各个文件夹里来实现各种重复与循环。

制作动画最后一步是压缩文件, 压缩时需注意选择zip格式,以存储方式压缩,同时必须和上面上个同目录压缩,否则制作的动画会异常。

5ea9ac783fe92a7b9f2aa092a4fdfe2e.png

2、 bootanimation.zip在系统目录system/media/下,假如删除该目录下的

bootanimation.zip文件,系统会使用默认的Android原始动画。

3、 通过在线升级动画,直接拷贝到/tvcustomer/Customer/下即可。System下是系统默认的路径,tvcustomer目录下是为了方便我们版控升级我们自定义的路径。在读取文件的时候会遍历这几个路径下是否有bootanimation.zip文件。

路径:fameworks/base/cmds/bootanimation/BootAnimation.cpp

f1a61c2b4c2f6a221cbc76f2d6df9e75.png
d1a3dc331b0fc46d4d6c60a589e78349.png

4、bootanimation.zip文件目前没有内存大小限制,但是需要考虑版控升级时tvcustomer分区的大小,动画文件过大文件拷过去后可能超过分区的大小,从而导致替换动画失败。

三、 开机动画-ts格式

1、 Android除了支持zip格式的动画之外还支持ts格式的视频做动画,视频做动画流畅度要好很多,但是目前用视频做动画还存在一些漏洞。

2、 Android原生的ts视频文件存放在/system/media/目录下,文件名必须命名为video.ts。为了我们升级版控方便,我们添加了一个目录tvcustomer/Customer。

7814e6fcc5199701101aeb5e9ba31e87.png
0428eb2a9cd762063e6729d4f8fe6a6d.png

3、 动画优先级为:ts视频>zip文件,假如不存在system和Customer下均没有zip文件,系统使用默认的Android原生动画。

a45f4531dc88240b3338240bd502f3a6.png

4、 使用ts视频跟原生Android有差异,mstart平台ts视频目录放在了data/video下。目前我们也修改成了/tvcustomer/Customer/下,以便版控升级。

修改文件目录:

vendor/mstar/supernova/projects/board/m7221/serials/MST140B_10ABQM_17425_DTMB/model/Customer_1.ini

d0f06749185e2b782ad3d86d719e940d.png
8e9bedf855e08bd9da5670bafa277efb.png

5、 使用ts格式视频做动画,会出现开机后使用本地播放器或者浏览器播放视频只会显示开机动画最后一帧。原因是开机动画播放后,播放器会冻住最后一帧画面,在supernova下去掉即可。开机动画的播放是通过supernova下调用playAdvertVideo()接口播放的。

bc7d8ca6343b898d6048173663930461.png
fbcb7c6bf6b6d00a0a942afd2f7860d2.png

四、 遇到的其他问题

1、 使用ts格式视频做动画时,升级第一次会出现黑屏很久的问题。原因是ts视频时长有限,而升级第一次开机耗时很长,无法适配这个时间。

2、 不管是ts还是zip格式的动画,在进入launcher前会有一个提示“Android正在启动”。很多客户会要求去掉这个提示,去掉这个提示会导致进入launcher黑屏1-2s。针对这个问题,最好的解决办法就是让开机动画晚点结束,可以修改以下文件。

去掉Android启动提示:

packages/apps/Settings/src/com/android/settings/FallbackHome.java

c7185ee5a1f3be6651a390ffe675a433.png
3ef41b213fef9038ff6e2bef5a94eb55.png

动画延迟退出:fameworks/base/cmds/bootanimation/BootAnimation.cpp

动画播放完之后会停留在最后一帧。

1ef71dfc6a97dff92a42495608bac483.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值