3

アセットフォルダにあるmp4ファイルからサムネイルを作成する際に問題が発生しました。別のアセットのパスを入力してみてくださいが、効果はありません。どうすれば修正できますか?

これが私のアダプタコードです。

VideoEntry video = videos.get(position);
    holder.txtTitle.setText(video.getTitle());
    holder.imgIcon.setImageBitmap(ThumbnailUtils.createVideoThumbnail("file:///android_asset/videos/Core/Superman.mp4", Thumbnails.MICRO_KIND));

なにが問題ですか?

解決:

 AssetManager am = getAssets();
 InputStream ims = am.open("images/" + category + "/" + item.replace(" ", "_").replace(".mp4", ".png").toLowerCase());
 Drawable d = Drawable.createFromStream(ims, null);
 holder.imgIcon.setImageDrawable(d);
4

3 に答える 3

8

ThumbnailUtils.createVideoThumbnail()既存のサムネイルを照会するか、存在しない場合はMediaStore強制的に作成します。これは、アプリケーションのアセットであり、SD カード上の実際のファイルでMediaStoreはないため、 で使用できないビデオ ファイルのサムネイルを作成できないことを意味します。MediaStoreファイルを SD カードに抽出するか、自分で作成したサムネイルを別のアプリケーションで提供することができます。お役に立てれば。

于 2012-10-18T09:38:55.517 に答える
0

アプリの静的リソースのフォルダーをアセットします。この動画のサムネイルを手動で作成し、アセットに配置することもできます。

于 2012-10-18T09:48:02.163 に答える