サイト移転のお知らせ:http://techbooster.org/に移転しました

ThumbnailUtilsを使って動画ファイルのサムネイルを作成する

2月 20, 2011   //   by kseto   //   アプリケーション  //  No Comments

ThumbnailUtilsクラスを使えば簡単に動画ファイルのサムネイルを作成することができます。

詳細は続きからご覧下さい。
※2011/02/22 記事を加筆・修正しました!

createVideoThumbnailメソッド

createVideoThumbnailメソッドで動画ファイルのサムネイルを作成します。
メソッドの定義は以下のようになっています。

Bitmap createVideoThumbnail(String filePath, int kind)
  • filePath : 動画ファイルのパス
  • kind : 生成するサムネイルのサイズ

filePathで指定した動画ファイルのサムネイルをBitmapで返します。
kindにはサムネイルのサイズを以下に示す定数から指定することができます。

MediaStore.Images.Thumbnails.MINI_KIND 512×384
MediaStore.Images.Thumbnails.MICRO_KIND 96×96

extractThumbnailメソッド

extractThumbnailメソッドではsourceで指定したBitmapからwidth, heightの任意のサイズで新たにBitmapを作成します。createVideoThumbnailで取得したBitmapをextractThumbnailを用いて任意のサイズにリサイズするというような使い方をします。

メソッドの定義は以下のとおりです。

Bitmap extractThumbnail(Bitmap source, int width, int height)
Bitmap extractThumbnail(Bitmap source, int width, int height, int options)
  • source : 元となるBitmap
  • width : 新たに生成するBitmapの幅
  • height : 新たに生成するBitmapの高さ
  • options : recycleの有無

optionsに指定できる定数としてOPTIONS_RECYCLE_INPUTが用意されています。

public static final int OPTIONS_RECYCLE_INPUT

OPTIONS_RECYCLE_INPUTを指定しておくことで、メモリ不足時にsourceで指定したBitmapのメモリ領域を自動的に解放することができます。

サンプルコード

サンプルコードでは2つのImageViewを用意し、それぞれcreateVideoThumbnailメソッドで作成したサムネイルとextractThumbnailメソッドで作成(リサイズ)したサムネイルを表示しています。

// ThumbnailUtilsインスタンス作成
ThumbnailUtils tu = new ThumbnailUtils();

// 表示用ImageView
ImageView iv, iv2;
iv = (ImageView) findViewById(R.id.imageView1);
iv2 = (ImageView) findViewById(R.id.imageView2);

// sample.3gpのサムネイルを作成して表示する
Bitmap bitmap1 = tu.createVideoThumbnail("/sdcard/sample.3gp", Thumbnails.MINI_KIND);
iv.setImageBitmap(bitmap1);

// sample.3gpのサムネイルを64x64にリサイズして表示する
Bitmap bitmap2 = tu.extractThumbnail(bitmap1, 64, 64);
iv2.setImageBitmap(bitmap2);

関連する記事:

Sponsored Link

Comments are closed.

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です