视频仅播放前 5 秒

发布于 2024-09-09 05:32:05 字数 347 浏览 3 评论 0原文

使用:

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 秒,并且一直处于暂停状态。为什么会发生这种情况?是不是跟buffer有关系? (我正在播放本地资源)

--

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

Using:

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

My video plays just about 5 first seconds, and stay like paused.. why does it happen? Is it something related to buffer? (I'm playing a local resource)

--

I've tried another 3gp video, and the same problem happens.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌上青苔 2024-09-16 05:32:05

组合 VideoViewMediaPlayer 可能不是正确的方法。 VideoView 使用自己的MediaPlayer单独使用 VideoView,或结合使用MediaPlayerSurfaceView

Combining a VideoView and a MediaPlayer may not be the right approach. VideoView uses its own MediaPlayer. Either use VideoView by itself, or use a combination of MediaPlayer and SurfaceView.

桜花祭 2024-09-16 05:32:05

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

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;
}

Working code (maybe was some problem with resource overuse):

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文