完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
平台:瑞芯微
操作系统:Android 6.0 内核:3.10.92 kris@:~/rk3288/frameworks/base/cmds/bootanimation$ g df diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/ BootAnimation.cpp 索引 c521250..d86e011 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp @@ -72,6 +72,9 @@ #define USER_SHUTDOWN_ANIMATION_FILE "/ data/local/shutdownanimation.zip" #define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip" #define SYSTEM_SHUTDOWN_ANIMATION_FILE "/system/media/shutdownanimation.zip" + +#define SYSTEM_BOOTVIDEO_FILE "/system/media/bootvideo.mp4" + 命名空间安卓{ 静态常量 int ANIM_ENTRY_NAME_MAX = 256; @@ -332,6 +335,13 @@ status_t BootAnimation::readyToRun() { } } + /* Kris, 170612, 添加视频播放支持。{*/ + if(access(SYSTEM_BOOTVIDEO_FILE, R_OK) == 0) + mVideo = true; + 其他 + mVideo = 假; + /* Kris,170612,添加视频播放支持。}*/ + 返回 NO_ERROR; } @@ -341,11 +351,20 @@ bool BootAnimation::threadLoop() // 我们没有 bootanimation 文件,所以我们使用股票 android logo // 动画。 播放音乐(); +#if 0 if (mZip == NULL) { r = android(); } 其他 { r = 电影(); } +#else +if (!mVideo) { +r = android(); +} 其他 { +r = 视频(); +} +#endif + eglMakeCurrent(mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); eglDestroyContext(mDisplay, mContext); eglDestroySurface(mDisplay, mSurface); @@ -740,6 +759,31 @@ bool BootAnimation::movie() 返回 false; } +bool BootAnimation::video() +{ + eglMakeCurrent(mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); + eglDestroySurface(mDisplay, mSurface); + + sp mp = new MediaPlayer(); + mp->重置(); + mp->setDataSource(NULL, SYSTEM_BOOTVIDEO_FILE, NULL); + mp->setLooping(假); + mp->setVideoSurfaceTexture(mFlingerSurface->getIGraphicBufferProducer()); + mp->准备(); + mp->开始(); + + while(true) { + if(exitPending()) + break; + 睡眠(100); //等待播放完才显示启动器。 + if(!mp->isPlaying()) + checkExit(); + } + + mp->stop(); + 返回假; +} + // --------------------------------------------- ------------------------------ } 差异 --git a/cmds/bootanimation/BootAnimation.hb/cmds/bootanimation/BootAnimation .h 索引 bb32e7b..16f0e3e 100644 --- a/cmds/bootanimation/BootAnimation.h +++ b/cmds/bootanimation/BootAnimation.h @@ -104,6 +104,10 @@ private: sp mFlingerSurfaceControl; sp mFlingerSurface; ZipFileRO *mZip; + /* Kris,170612,添加视频播放支持。{*/ + bool video(); + 布尔 mVideo; + /* Kris,170612,添加视频播放支持。}*/ }; //------------------------------------------------ --------------------------- |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
533 浏览 0 评论
803 浏览 1 评论
700 浏览 1 评论
1926 浏览 1 评论
3171 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:44 , Processed in 0.587575 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号