android自定义videoview,android-如何在播放前在videoview中设置预览图像

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值