2007年12月05日

Android覚え書き・動画ファイル再生

動画ファイルを再生してみた。

音楽ファイルと同様にandroid.media.MediaPlayerを使う。表示領域はSurfaceViewで作っておいてMediaPlayer.setDisplay()で関連づける。Content Providerを使う方法はしばらくできそうもないので直接ファイルを指定する方法にした。

getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.main);

mMediaPlayer = new MediaPlayer();
try {
	mMediaPlayer
		.setDataSource("/data/data/net.kazhik.android.secondplayer/video002.3gp");

	SurfaceView svPlay = (SurfaceView) findViewById(R.id.play_view);
	Surface sPlay = svPlay.getHolder().getSurface();
	mMediaPlayer.setDisplay(sPlay);
} catch (IOException e) {
}

SurfaceViewを機能させるためにはActivityが持っているウィンドウを半透明にしなければならないようだ。上のコードの一行目。これがないと音声だけで映像は出ない。サンプルコードのコメントに書かれているのだが、気がつかなくて何時間も悩むことになってしまった。

ソースファイル:SecondPlayer20071205.zip


kazhik at 21:23│Comments(0)TrackBack(0)Android 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔