- 注册时间
- 2013-4-19
- 最后登录
- 2026-1-21
- 阅读权限
- 200
- 积分
- 6551
- 精华
- 0
- 帖子
- 647
    
|
+bool BootAnimation::video() {
+ const float MAX_FPS = 60.0f;
+ const float CHECK_DELAY = ns2us(s2ns(1) / MAX_FPS);
+ eglMakeCurrent(mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
+ eglDestroySurface(mDisplay, mSurface);
+ sp<MediaPlayer> mp = new MediaPlayer();
+ mp->reset();
+ FILE* fp = fopen("/system/media/test.mp4", "r");
+ fseek(fp, 0, SEEK_END);
+ int length = ftell(fp);
+ ALOGD("========length %d",length);
+ rewind(fp);
+ int fd = fileno(fp);
+ ALOGD("========video %d",fd);
+ mp->setDataSource(fd , 0, length);
+ mp->setLooping(false);
+ Parcel* _parcel = new Parcel;
+ mp->setParameter(100, *_parcel);
+ mp->setVideoSurfaceTexture(mFlingerSurface->getIGraphicBufferProducer());
+ mp->prepare();
+ ALOGD("========video start");
+ mp->start();
+ //usleep(10*1000*1000);
+ while(true) {
+ if(exitPending())
+ break;
+ usleep(CHECK_DELAY);
+ checkExit();
+ }
+ ALOGD("========video stop");
+ mp->stop();
+ return false;
+}
|
|