微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 某些第三方apk播放视频时拖动会 卡顿

某些第三方apk播放视频时拖动会 卡顿

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
某些第三方的播放器在播放视频时,如果拖动进度条会出现画面切换不流畅的现象。
[SOLUTION]
此类播放器在拖动的时候,画面会根据进度条实时的切换。而mtk默认播放器的做法是拖动进度条的时候,画面还是按照原来的流程在变化,直到手松开进度条之后,在做真正的seek动作。所以不存在第三方播放器的那种问题。
而第三方播放器拖动画面卡顿的原因是:每一处拖动的位置都会实际的去做seek,因为解码的画面很多,所以不流畅。
修改的办法是:不要去解码所有的画面,而是解码拖动到某个点附近的同步帧即可。具体修改方法如下:
在AwesomePlayer:nVideoEvent() 这个函数中,找到如下的code:
options.setSeekTo(
mSeekTimeUs,
#ifndef android_DEFAULT_CODE
bSEEK_VIDEO_ONLY
#else
mSeeking == SEEK_VIDEO_ONLY
#endif
? MediaSource::ReadOptions::SEEK_NEXT_SYNC
#ifndef ANDROID_DEFAULT_CODE
: (mPrerollEnable ? (MediaSource::ReadOptions::SEEK_CLOSEST) :
(MediaSource::ReadOptions::SEEK_CLOSEST_SYNC)));
#else
: MediaSource::ReadOptions::SEEK_CLOSEST_SYNC);
#endif
将如上这段修改成:
options.setSeekTo(
mSeekTimeUs,
MediaSource::ReadOptions::SEEK_CLOSEST_SYNC);
/*
#ifndef ANDROID_DEFAULT_CODE
bSEEK_VIDEO_ONLY
#else
mSeeking == SEEK_VIDEO_ONLY
#endif
? MediaSource::ReadOptions::SEEK_NEXT_SYNC
#ifndef ANDROID_DEFAULT_CODE
: (mPrerollEnable ? (MediaSource::ReadOptions::SEEK_CLOSEST) :
(MediaSource::ReadOptions::SEEK_CLOSEST_SYNC)));
#else
: MediaSource::ReadOptions::SEEK_CLOSEST_SYNC);
#endif */

不错不错的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top