从网址创建视频缩略图或快照或帧捕获的简单方法是什么? 我正在使用videoview,它在开始之前有黑屏 我的代码是:
String vidAddress = URL_trailers_mp4;
Uri vidUri = Uri.parse(vidAddress);
VideoView vidView=(VideoView)findViewById(R.id.myVideo);
vidView.setVideoURI(vidUri);
MediaController vidControl = new MediaController(this);
vidControl.setAnchorView(vidView);
vidView.setMediaController(vidControl);
vidView.seekTo(0);
它不起作用。
答案 0 :(得分:0)
也许只是简单
videoview.seekto(0);
会有所帮助。它应该将视频的第一个关键帧设置为视频预览
答案 1 :(得分:0)
我找到了一些粗略的决定:搜索,开始和暂停让我在视频中获得图像。
答案 2 :(得分:0)
您可以尝试这种方式:
FileOutputStream out;
File land=new File(URL);// image file use to create image u can give any path.
Bitmap bitmap=ThumbnailUtils.createVideoThumbnail(filePath, MediaStore.Video.Thumbnails.FULL_SCREEN_KIND);//filePath is your video file path.
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
out=new FileOutputStream(land.getPath());
out.write(byteArray);
out.close();
答案 3 :(得分:0)
将vidView.seekTo(0);
更改为
vidView.seekTo(100);
//100 milliseconds (0.1 s) clip of video
您可以使用以下代码创建缩略图:
ImageView imageThumbnail = new ImageView(Video.this);
Bitmap bmThumbnail;
bmThumbnail = ThumbnailUtils.createVideoThumbnail(videoSource, MediaStore.Video.Thumbnails.MINI_KIND);
imageThumbnail.setImageBitmap(bmThumbnail);
答案 4 :(得分:0)
您可以使用MediaMetadataRetriever。 例如:
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(context, vidUri);
Bitmap bitmap = retriever.getFrameAtTime(expectPosition);
但是,没有保证数据源的框架位于该位置。发生这种情况时,将返回附近的框架。