【问题标题】:Android VideoView won't play video from beginning, but plays after seek?Android VideoView不会从头开始播放视频,而是在搜索后播放?
【发布时间】:2016-10-18 22:46:17
【问题描述】:

常规:我的目标是 Android 4.1 (API 16) 及更高版本。我主要通过 Android Studio 在 Android 模拟器上进行测试,因为我无法访问旧的物理设备。我正在尝试从外部存储播放 .webm 视频。视频编解码器为 VP8,音频编解码器为 Vorbis。

问题:我将 VideoView 注入到 LinearLayout (videoHolderLayout) 中,如下所示:

VideoView videoView = new VideoView(this);
MediaController mediaController = new MediaController(videoView.getContext());
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoHolderLayout.addView(videoView);
videoView.setVideoPath(videoPath);

如果我尝试从头开始播放视频,我会收到以下错误:

W/AudioSystem: AudioFlinger server died!
W/IMediaDeathNotifier: media server died
E/MediaPlayer: error (100, 0)
E/MediaPlayer: Error (100,0)
D/VideoView: Error: 100,0

如果我使用 MediaController 在视频中搜索(或 videoView.seekTo(...))几秒钟,它可以正常播放。使用 MediaController,如果我倒退到视频的开头,我会再次收到错误/崩溃。

有什么想法吗?

【问题讨论】:

  • 据我所知,这只是模拟器(通常可能是 Android 模拟器)的问题。

标签: android video android-videoview


【解决方案1】:

在你的 onPrepared 方法中编写以下代码

    int position = 0;
    videoView.seekTo(position);
            if (position == 0) {
                videoView.start();
            } else {
                videoView.pause();
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    相关资源
    最近更新 更多