Programming Style

メニュー

初心者がアプリ開発者になるためのプログラミング学習サイト

[Android] VideoView:動画を再生する

android-videoview-01

動画を表示させるためにはVideoViewクラスか<VideoView>タグを使います。ここでは動画を表示し再生させる方法について説明します。

 

広 告

 

目次

前提条件

動作確認端末

  • Google Nexus 7 – 5.1.1 – API22(実機)

1. VideoViewの概要

動画を再生させるための動画プレイヤーを作成ためにはVideoViewクラスか<Video>タグを使います。SurfaceViewクラスを継承しているため、SurfaceViewクラスのメソッドを使用すうことが可能です。

 

レイアウトXMLで<Video>タグを使って動画プレイヤーを配置する例は以下のとおりです。

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<VideoView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/video"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    />

 

上記のレイアウトXMLで宣言した<Video>タグをJava側のコードで読み込むためには以下のコードを実行します。

 

MainActivity.java

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final VideoView videoView = (VideoView) findViewById(R.id.video);
    }
}

 

 

 

 

2. 動画を内部ストレージから読み込む

 

端末内に保存されている動画ファイルを読み込むためには、VideoView#setVideoPath(String)を使用します。以下が実装例になります。

 

動画を内部ストレージから読み込む;

videoView.setVideoPath("/xxxx/xxxxx/xxxx/filename.xxx");

引数には動画ファイルのフルパスを設定します。

実行すると以下のように表示されます。

 

android-videoview-02

 

 

 

 

3. 動画をインターネットから読み込む

 

 

まずインターネット接続するためには、アプリに対して「ネットワークへのフルアクセス」の許可を与える必要があります。

  android-httpurlconnection-get-text-01   「ネットワークへのフルアクセス」の許可を与えるためには、マニフェストファイルの<manifest>タグ配下に以下のパーミッションを1行を追加します。  

 

src/main/AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

 

 

インターネット上の動画ファイルを読み込むためには、VideoView#setVideoURI(Uri)を使用します。以下が実装例になります。

 

動画をインターネットから読み込む;

videoView.setVideoURI(Uri.parse("http://xxxx.xxxx.xxxx.xxxx:xxxx/xxxx.mp4"));

 

引数には動画のURLを設定します。

実行すると以下のように表示されます。

 

android-videoview-02

 

 

 

 

4. 動画を再生・停止する

 

動画を再生させるためにはVideoView#start()を使用します。

 

動画を再生する

videoView.start();

 

動画を停止させるためにはVideoView#stopPlayback()を使用します。

 

動画を停止する

videoView.stopPlayback();

 

 

 

 

5. 動画を一時停止・再開する

 

動画を一時停止させるためにはVideoView#pause()を使用し、再生再開させるためにはVideoView#start()を使用します。

以下が実装例になります。

 

動画を一時停止・再開する

if (videoView.isPlaying()) {
    // 動画を一時停止する
    videoView.pause();
} else {
    // 動画を再生再開する
    videoView.start();
}

上記では一時停止させる前にVideoView#isPlaying()で動画が再生中かどうかを判定しています。

 

 

 

6. 参考URL

 

VideoView | Android Developers

http://developer.android.com/intl/ja/reference/android/widget/VideoView.html

 

 

広 告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です