facebook twitter hatena line email

Android/VideoView/イベント

提供: 初心者エンジニアの簡易メモ
2018年10月25日 (木) 10:58時点におけるAdmin (トーク | 投稿記録)による版 (動画プレイヤーサンプル(イベント))

移動: 案内検索

動画プレイヤーサンプル(イベント)

すぐに再生される

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.VideoView;
public class MainActivity extends AppCompatActivity {
   private VideoView mVideoView;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       mVideoView = new VideoView(this);
       FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
       layoutParams.gravity = Gravity.CENTER;
       FrameLayout layout = (FrameLayout)findViewById(R.id.videoView);
       layout.addView(mVideoView, layoutParams);
       // タッチイベント(タッチしてるときはずっと処理される)
       mVideoView.setOnTouchListener(new View.OnTouchListener() {
           @Override
           public boolean onTouch(View v, MotionEvent me) {
               Log.i("video", "onTouch");
               return true;
           }
       });
       // 最後まで再生したらイベント発行
       mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
           @Override
           public void onCompletion(MediaPlayer mp) {
               Log.i("video", "onCompletion");
           }
       });
       // 再生準備完了
       mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
           @Override
           public void onPrepared(MediaPlayer mp) {
               Log.i("video", "onPrepared");
               mVideoView.start();
           }
       });
       // エラーイベント
       mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
           @Override
           public boolean onError(MediaPlayer media, int what, int extra) {
               Log.i("video", "onError");
               return true;
           }
       });
       mVideoView.setVideoPath("~.mp4");
       mVideoView.start();
   }
}

res/layout/activity_main.xml

<FrameLayout android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="200dp"></FrameLayout>

参考:http://blog.livedoor.jp/sen_ritsu/archives/51350872.html