General:我的目标是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,如果我倒回到视频的开始,我将再次得到错误/崩溃。
任何想法?
在你的onPrepared方法中编写以下代码
int position = 0;
videoView.seekTo(position);
if (position == 0) {
videoView.start();
} else {
videoView.pause();
}