我需要播放视频的前 2 分钟。使用 onBufferingUpdate() 我得到缓冲的百分比。但当 onPrepared 被调用时,我的缓冲百分比为 40。这是一个超过 2 分钟的视频。 (考虑到我有一个30分钟的视频)
有什么办法可以让我只播放/缓冲视频 2 分钟吗?
谢谢。
最佳答案
缓冲区大小已预先设置到固件中。您所能做的就是密切关注缓冲区的填充量,即使这只是百分比。
大小在frameworks/base/media/libstagefright/include/NuCachedSource2.h
看看这个bug report在 code.google.com 上。
编辑:
您可以使用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;
}
您可以使用 new myAsync().execute();
语句启动 AsyncTask
。
关于android - 我们如何在 Android 中播放/缓冲几分钟的视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667689/