从流媒体视频中获取位图/缩略图,格式如.mp4,.3gp在Android中?

时间:2014-06-09 08:29:09

标签: android video bitmap youtube ffmpeg

我正在使用ListView,项目点击重定向到视频链接。 我解释了我的问题:

我有三种类型的视频:

  • 的Youtube
  • 位DailyMotion
  • 来自此类视频流的其他格式:Video Link

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

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

以下是我尝试获取位图的行:

我们在getView方法的VideoAdapter类中。 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天的答案。如果有人知道我该怎么做,那将会很有帮助

1 个答案:

答案 0 :(得分:0)

您可以尝试以下

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