【问题标题】:Preload video on Android在 Android 上预加载视频
【发布时间】:2011-12-04 15:48:33
【问题描述】:

我正在制作某种互动电影,有更多的视频片段需要在互动场景之间加载。问题是开始视频时有一点延迟,我相信可以通过在前一个视频完成之前预加载剪辑来修复它。我试过 start() 视频然后 stop() 它,也是 seekTo() 但我没有得到想要的结果。

另外我需要说明的是,我在同一个 Activity 中使用了多个 VideoView,因此我会显示相应的。

使用以下代码从原始文件夹加载视频文件

    videoView1 = new VideoView(this);
    mediaController1= new MediaController(this);

    mediaController1.setMediaPlayer(videoView1);
    mediaController1.setVisibility(View.INVISIBLE);

    Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.sa1);
    videoView1.setMediaController(mediaController1);
    videoView1.setVideoURI(uri);

    videoView1.requestFocus();

    videoView1.start();

谢谢。

【问题讨论】:

    标签: android video preload


    【解决方案1】:

    您可以在用户观看之前的视频时使用例如 AsyncTask 来处理另一个线程中的加载。 http://developer.android.com/reference/android/os/AsyncTask.html

    【讨论】:

    • 谢谢,我已经在 res/raw 文件夹中有视频,所以不需要下载。基本上我需要开始视频并在第一帧或其他内容之后停止它以加载它。但是 seekTo() 不知何故不起作用。
    • 对不起,我误解了你。我不完全知道为什么媒体播放器有这种延迟,所以我的应对方法并不是最好的。我从另一个类似问题中找到了指向 this 的链接,似乎在显示视频之前调用 prepare() 会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 2014-05-16
    • 1970-01-01
    相关资源
    最近更新 更多