gpt4 book ai didi

Android - 显示来自 URL 的视频缩略图

转载 作者:可可西里 更新时间:2023-11-01 18:55:08 24 4
gpt4 key购买 nike

我需要将基于 URL 的视频缩略图显示到我的 ListView 项目的 ImageView View 子项中,我找到了这个 post但没有奏效。

结果

enter image description here

代码

        thumb_image.setImageBitmap(new LoadVideoThumbnail().execute(URLs.videos +"/"+videos.get(position).getId()+".mp4").get());

异步任务

public class LoadVideoThumbnail extends AsyncTask<String, Object, Bitmap>{

@Override
protected Bitmap doInBackground(String... objectURL) {
//return ThumbnailUtils.createVideoThumbnail(objectURL[0], Thumbnails.MINI_KIND);
return ThumbnailUtils.extractThumbnail(ThumbnailUtils.createVideoThumbnail(objectURL[0], Thumbnails.MINI_KIND), 100, 100);
}

@Override
protected void onPostExecute(Bitmap result){
//img.setImageBitmap(result);
}

}

最佳答案

无需下载视频,您可以使用以下方法生成视频缩略图:

public static Bitmap retriveVideoFrameFromVideo(String videoPath)throws Throwable
{
Bitmap bitmap = null;
MediaMetadataRetriever mediaMetadataRetriever = null;
try
{
mediaMetadataRetriever = new MediaMetadataRetriever();
if (Build.VERSION.SDK_INT >= 14)
mediaMetadataRetriever.setDataSource(videoPath, new HashMap<String, String>());
else
mediaMetadataRetriever.setDataSource(videoPath);
// mediaMetadataRetriever.setDataSource(videoPath);
bitmap = mediaMetadataRetriever.getFrameAtTime(1, MediaMetadataRetriever.OPTION_CLOSEST);
}
catch (Exception e)
{
e.printStackTrace();
throw new Throwable("Exception in retriveVideoFrameFromVideo(String videoPath)"+ e.getMessage());
}
finally
{
if (mediaMetadataRetriever != null)
{
mediaMetadataRetriever.release();
}
}
return bitmap;
}

关于Android - 显示来自 URL 的视频缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23522124/

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