如何从URL创建videoview上的视频缩略图或快照或帧捕获?

时间:2014-12-03 08:27:29

标签: android android-videoview

从网址创建视频缩略图或快照或帧捕获的简单方法是什么? 我正在使用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);

它不起作用。

5 个答案:

答案 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);

但是,没有保证数据源的框架位于该位置。发生这种情况时,将返回附近的框架。