2023-01-11
androidのVideoViewで動画を再生する方法【Java】

androidのVideoViewで動画を表示する方法【Java】
rawフォルダの用意
使用する動画ファイルを入れるrawフォルダを作成します。
File -> New -> Folder -> Raw Resources Folder

今回はrawフォルダ内にsample.mp4を用意しました。

レイアウトファイル
動画を表示するViewはVideoViewを使用します。
<LinearLayout
android:id="@+id/linearLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<VideoView android:id="@+id/videoView"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>
Javaコード
以下はactivity内でのコードです。
VideoView videoView = findViewById(R.id.videoView);
videoView.setVideoPath("android.resource://"+ getPackageName()+ "/"+ R.raw.sample);
videoView.start();
VideoViewのsetVideoPath(動画パス)で再生する動画を指定します。
動画パスは android.resource:// + contextのgetPachageName() + / + R.raw.(動画ファイル名) という構造になります。
その後、VideoViewのstart()により動画再生を開始します。

動画をループさせる方法
そのままでは動画は一度しか再生されませんが、以下のコードを追加することで動画が無限にループします。
videoView.setOnCompletionListener(mediaPlayer->{
videoView.seekTo(0);
videoView.start();
});
VideoViewのsetOnCompletionListenerで動画終了時に呼び出される処理を追加できます。
VideoViewのseekTo(ミリ秒)で動画の再生位置を0にして、再びstart()で再生します。
投稿されたコメント一覧