我们怎样才能在Android中播放/缓冲几分钟的视频?

时间:2014-09-04 14:10:35

标签: android android-videoview buffering

我需要播放前2分钟的视频。使用onBufferingUpdate()我得到缓冲的百分比。但是当onPrepared被调用时,我得到缓冲%为40.这超过了2分钟的视频。 (考虑到我有30分钟的视频)

有什么方法可以播放/缓冲视频只有2分钟?

感谢。

1 个答案:

答案 0 :(得分: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();