03.再生位置を表示できるようにする
再生位置を表示できるようにします。
解説
テキストで、再生位置と動画長さを表示するようにします。
SeekBarで、再生位置を表示するようにします。
本項で実施している内容は、以下です。
- 再生位置表示用のUI要素を、TextViewで設置します。
- 動画長さ表示用のUI要素を、TextViewで設置します。
- 再生位置変更用のUI要素を、SeekBarで設置します。
- 設置したUI要素を更新する関数を定義します。
- 設置したUI要素を更新する関数を、定期的に呼び出す処理を実装します。
実装
プロジェクトを開く
「02.動画の縦横比を補正する」で作成したプロジェクトを開きます。
メインアクティビティのレイアウトの編集
メインアクティビティのレイアウトに、以下の変更を加えます。
- 再生位置表示用のUI要素群を、動画再生用のビューに対してオーバーレイ表示するために、ルートレイアウトを「FrameLayout」とします。
- 動画再生用のビュー、再生位置表示用のUI要素群を、それぞれ別の「RelativeLayout」の中に配置します。
- 再生位置表示用のUI要素を、TextViewで設置します。
- 動画長さ表示用のUI要素を、TextViewで設置します。
- 再生位置変更用のUI要素を、SeekBarで設置します。
- UI要素の表示位置が所望の場所に表示されるように、「LinearLayout」等のレイアウトグループを適宜、設置します。
「Project」ペインの「app > res > layout > activity_main.xml」を開きます。
activity_main.xml 全体としては、以下のようにします。
メインアクティビティクラスの編集(ビューの取得)
再生位置表示用のビューを取得する処理を追加します。
メインアクティビティクラスの、メンバー変数として、以下を追加します。
- 再生位置表示用のTextViewオブジェクト
- 動画長さ表示用のTextViewオブジェクト
- 再生位置表示用のSeekBarオブジェクト
メインアクティビティクラスの、onCreate関数に、ビューを取得する処理を追加します。
「Project」ペインの「app > java > ドメイン.アプリ名 > MainActivity」を開きます。
メインアクティビティクラス全体としては、以下のようにします。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
メインアクティビティクラスの編集(動画長さの設定)
メインアクティビティクラスの Playerリスナーの関数の定義に、「動画長さの設定」の処理を追加します。
メインアクティビティクラスの Playerリスナーの関数を以下のようにします。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
メインアクティビティクラスの編集(動画位置表示の更新の関数定義)
メインアクティビティクラスに 動画位置の更新の関数の定義を追加します。
動画位置の更新の処理は以下です。
- 動画の再生位置の取得
- 動画の再生位置で、再生位置表示用のTextViewオブジェクトのテキストを設定
- 動画の再生位置で、再生位置表示用のSeekBarオブジェクトのプログレスを設定
メインアクティビティクラスの末尾に、以下を追加します。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
メインアクティビティクラスの編集(再生位置表示の定期更新の開始と停止)
メインアクティビティクラスのメンバー変数として、以下を追加します。
- SeekBarを定期的に更新するためのHandlerオブジェクト
- SeekBarを定期的に更新するためのRunnableオブジェクトとRun関数定義
再生位置表示の定期更新の開始と停止の処理を追加します。
- 「初回表示時、および、ポーズからの復帰時」に呼ばれる関数である onResume 関数に、「再生位置表示の定期更新の開始」処理を記述します。
- 「アクティビティがフォアグラウンドからバックグラウンドに追いやられた時」に呼ばれる関数である onPause 関数に、「再生位置表示の定期更新の停止」処理を記述します。
メインアクティビティクラス全体としては、以下のようにします。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
実行
Android端末にて、動作確認。
アプリを起動すると、動画が再生、表示されます。
画面下部に、再生位置テキスト、再生位置バーが表示されます。
ダウンロード
関連ページ
前項目:02.動画の縦横比を補正する
次項目:04.再生位置を変更できるようにする