android - 从 Android 中 .mp4、.3gp 等格式的流视频中获取位图/缩略图?

标签 android video bitmap youtube ffmpeg

我正在处理 ListView,它在项目上单击重定向到视频链接。 我解释一下我的问题:

我有三种类型的视频:

  • YouTube
  • 日常运动
  • 来自流媒体视频的其他格式,例如:Video Link

我正在尝试从我的 ListView 项目中获取缩略图以将其放入我的 ImageView 中。我遇到了一个问题,我获得了 Youtube 缩略图、Dailymotion 缩略图,但我无法获得其他格式的缩略图。

我尝试使用 MediaMetaDataRetriever 类,但没有任何反应。

这是我试图获取位图的行:

我们在我的 VideoAdapter 类中的 getView 方法中。 holder 是我的 ViewHolder 类,thumbVideo 是我的 ImageView。

这是我试过的不同行:

holder.thumbVideo.setImageBitmap(createVideoThumbnail(m_Context, Uri.parse(m_Video.getM_Preview())));

m_Video 是我的视频类,getM_Preview() 方法获取视频缩略图的链接。

这是我的 createVideoThumbnail(Context context, Uri uri) 方法:

    public Bitmap createVideoThumbnail(Context context, Uri uri) {
    Bitmap bitmap = null;
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    try { 
        retriever.setDataSource(context, uri);
        bitmap = retriever.getFrameAtTime(-1);
    } catch (RuntimeException ex) {
    } finally { 
        try { 
            retriever.release();
        } catch (RuntimeException ex) {
        } 
    } 
    return bitmap;
}

我花了 4 天时间寻找答案。如果有人知道我该怎么做,那将会很有帮助

最佳答案

你可以像下面这样尝试

       Bitmap thumbnail =ThumbnailUtils.createVideoThumbnail(mVideoUri.getPath(),
                                            MediaStore.Images.Thumbnails.MINI_KIND);
        BitmapDrawable  bitmapDrawable = new BitmapDrawable(getResources(), thumbnail);
videoView.setBackground(bitmapDrawable);

关于android - 从 Android 中 .mp4、.3gp 等格式的流视频中获取位图/缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24116412/

相关文章:

android - 使用 Renderscript 调整位图大小

android google calendar api 在发布时不工作

Android AdapterView添加动画

java - 进度对话框异步任务花费的时间比预期的要长

video - 如何将文本流(字幕)添加到 .mp4 或 .m4v

ios - 使用 FBSDK 分享视频时如何显示对话框?

java - Android:如何获得箭头按钮?

drupal - 允许我嵌入 Youtube 视频或本地上传视频的最佳 Drupal 模块是什么?

Canvas 上的 Android Center 超大位图

Android Canvas 位图大小和测量