VideoViewとは

 VideoViewは文字通り、Videoを再生するViewです。

対応動画形式

 下記のサイトを見る限りだと、mp4,3gp,ts,webmのみのようですね。

参考サイト:
ソフトウェア技術ドキュメントを勝手に翻訳:”3. Android でサポートされるメディアフォーマット”
http://www.techdoctranslator.com/android/appendix/media-formats

プログラム例

・Layoutファイル(main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:layout_height="match_parent">
	<VideoView
	            android:id="@+id/main_videoView"
	            android:layout_width="match_parent"
	            android:layout_height="wrap_content" />
</LinearLayout>



 動画を表示したい場所にVideoViewを配置します。

・Javaファイル(MainActivity.java)

public class MainActivity extends Activity {

	private Context mContext;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		mContext = getApplicationContext();

		//VideoView 動画再生
		String video_url = "http://....";
	    
		final VideoView video = (VideoView) findViewById(R.id.main_videoView);
		//Mediaコントローラ(再生、停止などのボタン)
		video.setMediaController(new MediaController(this));
		video.setVideoURI(Uri.parse(video_url));
		video.start();
		// 再生完了通知リスナー
		video.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
			@Override
	    		public void onCompletion(MediaPlayer mp) {
	    			// 先頭に戻す -> Repeat
		    		video.seekTo(0);
		    		// 再生開始
	    			video.start();
	    		}
	    	});
	}
}

 findViewByIdでVideoViewを呼び出して、setVideoURIで動画ファイルのURIを指定します。因みに、上記のプログラムは繰り返し再生されるようになっています。また、setMediaControllerを設定することで、再生や停止、スキップ等のコントローラを表示することができます。

1.ネットワーク上(http://…)に保存した動画を再生する。
 動画URLには動画ファイルのURLを指定します。

2.ローカル(端末内にある)動画の再生する。setVideoURIの命令を以下のように変更します。
例:

video.setVideoPath(Environment.getExternalStorageDirectory().getPath() + "/sample.mp4");

 当然ながら、動画ファイルがないと再生できません。
 動画を再生したい人は試してみてください。

device-2013-10-22-130209