Androidプログラマへの道 〜 Moonlight 明日香 〜 - メディアコントローラーを表示する
動画メディアの再生等を行う操作ボタンを表示するには, メディアコントローラー(MediaController)をビデオビュー(VideoView)に設定する.

メディアコントローラーの設定

  • VideoView02.java
    • findViewByIdメソッドで, 指定したリソースインデックスのIDに対応したビデオビューのインスタンスを取得する.
    • VideoView#setMediaControllerメソッドで, VideoViewにメディアコントローラーを設定する.
    • VideoView#setVideoPathメソッドで, 再生する映像メディアを指定する. また, VideoView#setVideoURIメソッドを使って, ネット上のコンテンツを指定することもできる.
package com.moonlight_aska.android.videoview03;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.widget.MediaController;
import android.widget.VideoView;

public class VideoView03 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);

    VideoView video = (VideoView)findViewById(R.id.videoview_id);
    // メディアコントローラーの設定
    video.setMediaController(new MediaController(this));
    // 動画メディアの設定
    video.setVideoPath("/sdcard/VideoSample/sample.3gp");
  }
}
  • res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
  <VideoView android:id="@+id/videoview_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
  />
</LinearLayout>
  • 動作例
端末:SHARP SH-03C / Android 2.2
    • ビデオビューの画面をタッチすると, メディアコントローラーが表示される.