私はGlide
で試していません。しかし、このissueに記載されているように、を使用して画像を取得するには、カスタムモデルとDataFetcherを作成する必要があります。
しかし、私のために働いた回避策は、MediaMetadataRetrieverを使用しています。サムネイルビットマップをファイルをダウンロードせずに取得した方法は次のとおりです。
public static Bitmap retriveVideoFrameFromVideo(String videoPath)
throws Throwable
{
Bitmap bitmap = null;
MediaMetadataRetriever mediaMetadataRetriever = null;
try
{
mediaMetadataRetriever = new MediaMetadataRetriever();
if (Build.VERSION.SDK_INT >= 14)
mediaMetadataRetriever.setDataSource(videoPath, new HashMap<String, String>());
else
mediaMetadataRetriever.setDataSource(videoPath);
// mediaMetadataRetriever.setDataSource(videoPath);
bitmap = mediaMetadataRetriever.getFrameAtTime();
}
catch (Exception e)
{
e.printStackTrace();
throw new Throwable(
"Exception in retriveVideoFrameFromVideo(String videoPath)"
+ e.getMessage());
}
finally
{
if (mediaMetadataRetriever != null)
{
mediaMetadataRetriever.release();
}
}
return bitmap;
}
出典
2017-02-07 09:52:18
OBX
「メッセージ」はどのようなタイプですか?有効なリソースを指していることを確認してください。 – azizbekian