【问题标题】:How to display a thumbnail for a video? Android如何显示视频的缩略图?安卓
【发布时间】:2015-07-27 14:48:41
【问题描述】:

我正在尝试为我的视频视图显示缩略图,我有一个分层的图像视图,我想放置一个缩略图...我尝试了这个但它不起作用不确定是否作为字符串传递的 url是问题吗?没有错误,图像只是不显示占位符显示,所以它与我做位图的方式有关,链接也正确显示了视频。

String filePath = ""http://unknown.com/v3-1aox9d1.mp4""; 

ImageView imageview_micro = (ImageView)findViewById(R.id.thumbnail_micro);

Bitmap bmThumbnail;

//MICRO_KIND, size: 96 x 96 thumbnail
bmThumbnail = ThumbnailUtils.createVideoThumbnail(filePath, Thumbnails.MICRO_KIND);
imageview_micro.setImageBitmap(bmThumbnail);

【问题讨论】:

  • 你是在看主线程的缩略图吗?
  • 是的,有问题吗?
  • 它可能不会造成任何大问题,但通常从视频中获取缩略图需要时间,正如 oberflansch 所说,您的文件应该在本地可用,您无法传递视频的 url 链接。如果您想拥有服务器中当前可用的视频缩略图,那么您的服务器必须负责存储视频的缩略图
  • 如果是本地的,如何从视频缩略图(位图)中获取文件路径
  • 如果视频在本地存在,则将视频路径传递给上述方法,它将返回您可以在本地存储的缩略图

标签: java android video


【解决方案1】:

这不是使用createVideoThumbnail的方式。

第一个参数应该是指向本地文件的文件路径。 您正在使用网址。

您必须先下载视频或必须搜索其他解决方案。

这个答案可能会对您有所帮助: https://stackoverflow.com/a/23523205/5038873

【讨论】:

  • 好的,但是我需要找到位图的来源(文件路径或 uri)才能将其发送到我的服务器,我该怎么做?
【解决方案2】:

你可以试试下面的代码,它可能对你有帮助

public static Bitmap retriveVideoFrameFromVideo(String p_videoPath)
        throws Throwable
{
    Bitmap m_bitmap = null;
    MediaMetadataRetriever m_mediaMetadataRetriever = null;
    try
    {
        m_mediaMetadataRetriever = new MediaMetadataRetriever();
        m_mediaMetadataRetriever.setDataSource(p_videoPath);
        m_bitmap = m_mediaMetadataRetriever.getFrameAtTime();
    }
    catch (Exception m_e)
    {
        throw new Throwable(
                "Exception in retriveVideoFrameFromVideo(String p_videoPath)"
                        + m_e.getMessage());
    }
    finally
    {
        if (m_mediaMetadataRetriever != null)
        {
            m_mediaMetadataRetriever.release();
        }
    }
    return m_bitmap;
}

 Bitmap bmThumbnail;
 bmThumbnail  = retriveVideoFrameFromVideo(filePath);
 imageview_micro.setImageBitmap(bmThumbnail);

【讨论】:

  • 这要求文件是本地的吗?
  • 是的,应该是本地的。
  • 好的,但是我需要找到位图的来源(文件路径或 uri)才能将其发送到我的服务器,我该怎么做?
  • 如果我的文件来自 URL 而不是本地文件怎么办?
猜你喜欢
  • 2011-03-16
  • 2011-03-25
  • 1970-01-01
  • 2022-09-24
  • 2012-06-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
相关资源
最近更新 更多