android - 我们如何在 Android 中播放/缓冲几分钟的视频?

标签 android android-videoview buffering

我需要播放视频的前 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/

相关文章:

java - 如何使用 SwingWorker 模拟带缓冲的外围设备?

android - 使用 okHttp3 上传动态数量的文件

android - 如何列出android中特定文件夹中的所有视频

c++ - 添加带有自定义标准错误的 fprintf() 语句后标准输出挂起

android - 在 Android 的 VideoView 上显示和隐藏播放按钮

android - 音频流缓冲

java - 安卓资源命名空间

java - 手动降级 9.0.83 Google Play 服务以避免 DynamiteModule : Failed to load module descriptor

java - inappmessaging-display :17. 0.0' CreateProcess error=206,文件名或扩展名太长