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");
当然ながら、動画ファイルがないと再生できません。
動画を再生したい人は試してみてください。