Android的 - 从URL显示一个视频缩略图 [英] Android - Display a video thumbnail from a URL
问题描述
我要显示基于一个网址进入我的的ListView 的
的ImageView
查看孩子的视频缩略图code>的项目,我发现这个<一个href=\"http://stackoverflow.com/questions/13743223/it-is-possible-to-display-a-video-thumbnail-from-a-url-on-android-4-and-above\">post但没有奏效。
结果
code
thumb_image.setImageBitmap(新LoadVideoThumbnail()。执行(URLs.videos +/+ videos.get(位置).getId()+MP4)。得到( ));
的AsyncTask
公共类LoadVideoThumbnail扩展的AsyncTask&LT;弦乐,对象,位图&GT; { @覆盖
保护位图doInBackground(字符串...的ObjectURL){
//返回ThumbnailUtils.createVideoThumbnail(的ObjectURL [0],Thumbnails.MINI_KIND);
返回ThumbnailUtils.extractThumbnail(ThumbnailUtils.createVideoThumbnail(的ObjectURL [0],Thumbnails.MINI_KIND),100,100);
} @覆盖
保护无效onPostExecute(位图结果){
//img.setImageBitmap(result);
} }
@CommonsWare,
这是不是这样,对于在服务器的每个视频存储个人缩略图。但我们有一些库
fmmr.jar使用jniLibs
块引用>直接提供从服务器的URL缩略图用10秒。
借助样本$ C为缩略图$ C 。
FFmpegMediaMetadataRetriever fmmr =新FFmpegMediaMetadataRetriever();
尝试{
fmmr.setDataSource(将videoPath); 位图B = fmmr.getFrameAtTime(); 如果(B!= NULL){
位图B2 = fmmr.getFrameAtTime(4000000,FFmpegMediaMetadataRetriever.OPTION_CLOSEST_SYNC);
如果(B2!= NULL){
B = B2;
}
} 如果(B!= NULL){
Log.i(缩略图,提取的帧);
返回b;
}其他{
Log.e(缩略图,无法提取框架);
}
}赶上(抛出:IllegalArgumentException前){
ex.printStackTrace();
} {最后
fmmr.release();
}I need to display a video thumbnail based to a URL into an
ImageView
view child of myListView
items, i have found this post but not worked.Result
Code
thumb_image.setImageBitmap(new LoadVideoThumbnail().execute(URLs.videos +"/"+videos.get(position).getId()+".mp4").get());
AsyncTask
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); } }
解决方案@CommonsWare,
This is not the case that for every video store individual thumbnail in server. but we have some library
fmmr.jar with using jniLibs
which directly provide the thumbnail from server url with in 10 second.
The sample code for Thumbnail.
FFmpegMediaMetadataRetriever fmmr = new FFmpegMediaMetadataRetriever(); try { fmmr.setDataSource(videoPath); Bitmap b = fmmr.getFrameAtTime(); if (b != null) { Bitmap b2 = fmmr.getFrameAtTime(4000000, FFmpegMediaMetadataRetriever.OPTION_CLOSEST_SYNC); if (b2 != null) { b = b2; } } if (b != null) { Log.i("Thumbnail", "Extracted frame"); return b; } else { Log.e("Thumbnail", "Failed to extract frame"); } } catch (IllegalArgumentException ex) { ex.printStackTrace(); } finally { fmmr.release(); }
这篇关于Android的 - 从URL显示一个视频缩略图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!