【问题标题】:Get bitmap / thumbnail from a streaming video with format like .mp4, .3gp in Android?从 Android 中的 .mp4、.3gp 等格式的流式视频中获取位图/缩略图?
【发布时间】:2014-06-09 08:29:09
【问题描述】:

我正在研究 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 是我的 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 天的答案。如果有人知道我该怎么做,那会很有帮助

【问题讨论】:

  • 我们在从 Streaming Server 获取缩略图时遇到了同样的问题,您找到解决方案了吗?
  • 我建议您手动获取缩略图并从服务器获取图片,因为我没有用其他方式解决它..

标签: android video bitmap youtube ffmpeg


【解决方案1】:

你可以试试下面的

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 2014-04-14
    • 2012-10-30
    • 2012-02-02
    • 2017-10-14
    • 2013-01-07
    • 2019-12-19
    相关资源
    最近更新 更多