VideoViewActivity.java 3.14 KB
package com.cnlive.demo.video;

import android.app.Activity;
import android.os.Bundle;

import com.cnlive.demo.video.model.ProgramVod;
import com.cnlive.libs.video.video.VideoView;
import com.cnlive.libs.video.video.base.IMediaPlayer;

import static com.cnlive.libs.util.auth.AuthUtil.AUTH_ERROR;
import static com.cnlive.libs.util.auth.AuthUtil.AUTH_SUCCESS;


public class VideoViewActivity extends Activity {

    protected VideoView videoView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_videoview);
        initPlay();
    }

    @Override
    protected void onPause() {
        super.onPause();
        videoView.pause();
    }

    @Override
    protected void onResume() {
        super.onResume();
        videoView.start();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        videoView.release();
    }

    private void initPlay() {
        videoView = (VideoView) findViewById(R.id.videoview);
        //认证APP播放权限(使用视讯中国资源)
        videoView.auth();
        videoView.setOnBufferingUpdateListener(new IMediaPlayer.OnBufferingUpdateListener() {
            @Override
            public void onBufferingUpdate(IMediaPlayer mediaplayer, int percent) {
            }
        });
        videoView.setOnPlayStateListener(new IMediaPlayer.OnPlayStateListener() {
            @Override
            public void onPlayState(boolean isPlay) {
            }
        });
        videoView.setOnInfoListener(new IMediaPlayer.OnInfoListener() {
            @Override
            public boolean onInfo(IMediaPlayer mediaplayer, int what, int extra) {
                switch (what) {
                    case AUTH_SUCCESS:
//                        auth = true;
                        startPlay();
                        break;
                }
                return false;
            }
        });
        videoView.setOnErrorListener(new IMediaPlayer.OnErrorListener() {
            @Override
            public boolean onError(IMediaPlayer mediaplayer, int what, int extra) {
                switch (what) {
                    case AUTH_ERROR:
                        break;
                }
                return false;
            }
        });
        videoView.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(IMediaPlayer mediaplayer) {
                mediaplayer.start();
            }
        });
        videoView.setOnCompletionListener(new IMediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(IMediaPlayer mediaplayer) {
            }
        });

        startPlay();
    }

    private void startPlay() {
        //视讯云 直播
//        videoView.setDataSource(new ProgramLive(),false);

        //视讯云 点播
        videoView.setDataSourceByAuth(new ProgramVod(), false);

        //本地视频
//        try {
//            videoView.setDataSource("rtmp://live.hkstv.hk.lxdns.com/live/hks");
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
    }

}