web-dev-qa-db-ja.com

グライドロードサムネイルが機能しない

Glideを使用して動画からサムネイルを読み込んでいますが、アプリで機能していないようです。 ImageViewは、何らかの理由で空になっています。

Glide.with(context)
            .load(url)
            .asBitmap()
            .thumbnail(0.1f)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(target);

リスナーを追加したので、何が問題なのかを理解できますが、スローされた例外はnullです。

同じURLを使用してThumbnailUtilsを使用してみました。何か問題があるのではないかと思ったのですが、サムネイルは正常に読み込まれます。

同じことを経験している人はいますか? Nexus 7(6.0.1)を使用しています

9
kishidp

私も同じ状況に出くわしました。どういうわけか、URIから、ローカルファイルパスを使用してファイルインスタンスを作成しない限り、イメージをロードしません。だからそれを機能させるために私はそれを以下のように使用しました

Glide.with(mContext).load(Uri.fromFile(new File(path)).into(icon);

ドキュメントでは、彼らは同じアプローチを使用しています。ここで参照できます: グライド-ビデオ

それとは別に、キャッシュを使用するという異常な動作にも気づきました。キャッシュ戦略をDiskCacheStrategy.ALLまたはDiskCacheStrategy.SOURCEとして使用している場合、サムネイルは読み込まれませんが、使用している場合DiskCacheStrategy.RESULT動作します。それが役に立てば幸い

7
Gautam

オーバーライドを使用できます。これは確実に機能します。

Glide.with(context)
         .load(url)
         .crossFade()
         .override(width, height)
         .into(imageView);
2
box

グライドのドキュメントで説明されているように、この機能は、デバイスにローカルに保存されているビデオでのみ使用できます。

また、/storage/emulated/0/Pictures/example_video.mp4のようなパスを使用する必要があります。このパスの前にfile:///を追加しても機能しません。

あなたはここでより多くの情報を見つけることができます: https://futurestud.io/blog/glide-displaying-gifs-and-videos

乾杯!

1
Glide.with(mcontext)
                .applyDefaultRequestOptions(RequestOptions.centerCropTransform()
                        .diskCacheStrategy(DiskCacheStrategy.RESOURCE))
                .load(videourl)
                .into(thumbnailimg);

このコードを使用してみてください

0