android-如何在播放前在videoview中设置预览图像
我在活动中创建了VideoView,下面是代码。
VideoView vvVideos = (VideoView) rootView.findViewById(R.id.videoView);
MediaController mediacontroller = new MediaController(ctx);
mediacontroller.setAnchorView(vvVideos);
Uri video = Uri.parse("android.resource://" + packageName +"/"+R.raw.sample);
vvVideos.setMediaController(mediacontroller);
LayoutParams params=vvVideos.getLayoutParams();
params.height=150;
vvVideos.setLayoutParams(params);
vvVideos.setVideoURI(video);
vvVideos.requestFocus();
vvVideos.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
vvVideos.start();
}
});
现在,在创建活动后,视频便开始播放。 我要进行以下活动
活动开始时不应播放视频。
它应该显示开始的视频图像(当前显示为黑色)
仅当用户单击视频时才播放。
请帮我。
10个解决方案
102 votes
使用.seekTo( 1 )显示第一帧。
确保电影已暂停,然后使用.seekTo( 1 )来显示视频的第一帧:
VideoView mVideoView = (VideoView) findViewById( R.id.video_preview );
mVideoView.setVideoURI( yourVideoPath );
mVideoView.seekTo( 1 ); // 1 millisecond (0.001 s) into the clip.
注意:我们使用.seekTo( 1 ),因为设置.seekTo( 0 )在Android 9上不起作用。
@Lingviston在另一个答案中回答了如何在单击时播放它。
Joshua Pinter answered 2019-11-18T12:35:35Z
27 votes
使用此创建视频缩略图
Bitmap thumb = ThumbnailUtils.createVideoThumbnail("file path/url",
MediaStore.Images.Thumbnails.MINI_KIND);
并设置为videoview
BitmapDrawable bitmapDrawable = new BitmapDrawable(thumb);
mVideoView.setBackgroundDrawable(bitmapDrawable);
Shijil answered 201