gpt4 book ai didi

android - 从视频文件创建缩略图返回空位图

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:39 25 4
gpt4 key购买 nike

我发送一个启动摄像机的 Intent

PackageManager pm = getPackageManager();
if(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)){
Intent video = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
File tempDir= new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "BCA");
if(!tempDir.exists())
{
if(!tempDir.mkdir()){
Toast.makeText(this, "Please check SD card! Image shot is impossible!", Toast.LENGTH_SHORT).show();
}
}

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",Locale.US).format(new Date());
File mediaFile = new File(tempDir.getPath() + File.separator +
"VIDEO_"+ timeStamp + ".mp4");
Uri videoUri = Uri.fromFile(mediaFile);
video.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
video.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(video, VIDEO_REQUEST);

}else{
Toast.makeText(this, "This device does not have a rear facing camera",Toast.LENGTH_SHORT).show();
}

我拍了一段视频,它得到了正确的存储,当 onActivityResult 被触发时,我使用 Intent 获取 uri 的存储位置以创建位图

这是 uri file:///storage/emulated/0/Pictures/BCA/VIDEO_20131227_145043.mp4

的示例
 Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(intent.getDataString(), MediaStore.Video.Thumbnails.MICRO_KIND);

但是位图每次都是空的。因此,由于文档说 如果视频损坏或格式不受支持,可能会返回 null 我检查了目录中的视频,它播放正常加上它的 .mp4 文件这是受支持的,所以我在这里做错了什么?

最佳答案

你可以试试MediaMetadataRetrieverFFmpegMediaMetadataRetriever .这是一个例子:

FFmpegMediaMetadataRetriever mmr = new FFmpegMediaMetadataRetriever();
mmr.setDataSource(intent.getDataString());
Bitmap b = mmr.getFrameAtTime();
mmr.release();

关于android - 从视频文件创建缩略图返回空位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com