在我的Android电视应用程序中,一开始我想显示我的每个流链接的框架。我目前的解决方案是使用LoaderManager,这种技术的问题是它太慢(应用程序崩溃)。
FFmpegMediaMetadataRetriever to load and set video stream link.
this.retriever = new FFmpegMediaMetadataRetriever();
Bitmap bitmap = null;
retriever.setDataSource(this.mSelectedStream.getStreamUrl());
bitmap = retriever.getFrameAtTime();
drawable = new BitmapDrawable(bitmap);
retriever.release();
我发现this thread解释了滑行可用于从视频链接加载图片。
BitmapPool bitmapPool = Glide.get(getApplicationContext()).getBitmapPool();
int microSecond = 6000000;// 6th second as an example
VideoBitmapDecoder videoBitmapDecoder = new VideoBitmapDecoder(microSecond);
FileDescriptorBitmapDecoder fileDescriptorBitmapDecoder = new FileDescriptorBitmapDecoder(videoBitmapDecoder, bitmapPool, DecodeFormat.PREFER_ARGB_8888);
Glide.with(getApplicationContext())
.load(yourUri)
.asBitmap()
.override(50,50)// Example
.videoDecoder(fileDescriptorBitmapDecoder)
.into(yourImageView);
但是当我使用上面的代码时,我得到了“无法从包外部访问”错误的VideoBitmapDecoder。
exmaple link =“http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8”
任何想法? 感谢
答案 0 :(得分:1)
我已经使用这个片段从视频帧中取出拇指钉。试试吧
Bitmap thumbnail = ThumbnailUtils.createVideoThumbnail(media_url,
MediaStore.Images.Thumbnails.MINI_KIND);
BitmapDrawable BD = new BitmapDrawable(thumbnail);
videoView.setBackgroundDrawable(BD);