はじめに
今回はあまり触れていなかった動画再生について、今後のために調べたのでそれのメモがわりとして記事にしておこうと思います。
VideoView
xmlにはVideoViewを追加し、それ以外は特に専用のものを追加しなくてもいいっぽいです。
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="120dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
val videoView = findViewById<VideoView>(R.id.videoView)
videoView.setVideoPath(~~~)
または、
videoView.setVideoURI(Uri.parse("http://www.~~~~~~"))
videoView.seekTo(0)
videoView.start()
setVideoPath()は動画のある場所を引数に渡します。
setVideoURI()で動画を指定するのも可。
seekTo(Int)は再生位置を引数に渡します。
アクションを起こした際に動画が初めから流したいのであれば、0を渡しておくのが無難かと思います。
start()で動画を再生します。
一時停止させる際は videoView.pause()
停止させる際は videoView.stopPlayBack()でそれぞれ動画の再生を停止できます。
スリープモードにさせない
以下のコードは動画再生に使われるActivityに追記することで、動画再生中に端末の設定された時間で端末がスリープモードになる事を防ぎます。
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
参考