【问题标题】:Video plays just the first 5 seconds视频仅播放前 5 秒
【发布时间】:2010-07-13 13:01:51
【问题描述】:

使用:

private void play() {
    VideoView v = (VideoView) findViewById(R.id.videoView);
    MediaPlayer mp = MediaPlayer.create(this, R.raw.video);
    mp.setDisplay(v.getHolder());
    mp.start();
}

我的视频只播放了大约 5 秒,并且一直处于暂停状态。为什么会这样?它与缓冲区有关吗? (我在玩本地资源)

--

我尝试了另一个 3gp 视频,但出现了同样的问题。

【问题讨论】:

    标签: android video multimedia


    【解决方案1】:

    结合VideoViewMediaPlayer 可能不是正确的方法。 VideoView 使用自己的 MediaPlayeruse VideoView by itselfuse a combination of MediaPlayer and SurfaceView

    【讨论】:

    • 此外,除非您的 PC 速度非常快,否则在模拟器上播放视频效果并不理想。
    • 其实我这里有一个非常快的四核。顺便问一下,我如何使用您示例的 MediaControler 播放视频?
    • @Tom Brito:要播放VideoView 样本,请点击屏幕顶部以调出MediaController,或在设置结束时添加对play() 的呼叫过程。要播放 MediaPlayer 示例,您应该在启动应用程序时获得一个 URL 字段,以输入要测试的流式视频剪辑的路径。
    • @Tom Brito: play()VideoView 上。
    • @CommonsWare:你确定吗?我没有在文档 developer.android.com/reference/android/widget/VideoView.html> 上看到它
    【解决方案2】:

    工作代码(可能是资源过度使用的问题):

    private void play() throws Exception {
        v = (VideoView) findViewById(R.id.videoView);
        if (!firstPlay) {
            mp.release();
        }
        mp = MediaPlayer.create(this, R.raw.video);
        mp.setDisplay(v.getHolder());
        mp.start();
        firstPlay = false;
    }
    

    【讨论】:

    • 重试第一个代码,它需要多一点时间才能停止,我真的认为是因为我的许多游戏资源过度使用..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 2012-01-31
    相关资源
    最近更新 更多