Android VideoView从一开始就不播放视频,但在搜索后播放?

时间:2016-10-18 22:46:17

标签: android video android-videoview

一般:我的目标是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,如果我回到视频的开头,我将再次收到错误/崩溃。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在onPrepared方法中编写以下代码

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