我需要播放视频的前2分钟。使用onBufferingUpdate()可以得到缓冲的百分比。但是到了onPrepared的时间,我被缓冲为40%。这是2分钟以上的视频。 (考虑到我有30分钟的视频)
我只能以2分钟播放/缓冲视频吗?
谢谢。
最佳答案
缓冲区大小已预先设置在固件中。您所能做的就是保持对缓冲区已填充量的标签,即使是百分比也是如此。
尺寸在frameworks/base/media/libstagefright/include/NuCachedSource2.h
中设置
在code.google.com上查看此bug report。
编辑:
您可以使用mVideoView.getCurrentPosition();
获取视频的当前位置,这将以毫秒为单位返回当前位置,现在您必须使用AsynTask
private class myAsync extends AsyncTask<Void, Integer, Void>
{
@Override
protected Void doInBackground(Void... params) {
mVideoView.start();
do {
try {
if(mVideoView.getCurrentPosition() == TimeUnit.MINUTES.toMillis(yourMinutes)){
mVideoView.stop();
}
} catch (Exception e) {
}
} while (mVideoView.getCurrentPosition() != mVideoView.getDuration());
return null;
}
您可以使用
AsyncTask
语句启动new myAsync().execute();
。