package com.joyplus.mediaplayer;
import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.MediaPlayer.OnCompletionListener;
import io.vov.vitamio.MediaPlayer.OnErrorListener;
import io.vov.vitamio.MediaPlayer.OnInfoListener;
import io.vov.vitamio.MediaPlayer.OnPreparedListener;
import io.vov.vitamio.MediaPlayer.OnVideoSizeChangedListener;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import com.joyplus.tvhelper.R;
import com.joyplus.tvhelper.utils.Log;
public class SystemVitamioPlayerVideoView extends LinearLayout implements ViewInterface,VideoViewInterface, OnErrorListener,
OnCompletionListener, OnPreparedListener,OnInfoListener{
private boolean Debug = true;
private String TAG = "SystemVitamioPlayerVideoView";
private VitamioVideoView mVideoView = null;
@Override
protected void onFinishInflate() {
// TODO Auto-generated method stub
super.onFinishInflate();
if(Debug)Log.d(TAG,"onFinishInflate()");
mVideoView = (VitamioVideoView) findViewById(R.id.VitamioVideoView);
mVideoView.setOnErrorListener(this);
mVideoView.setOnCompletionListener(this);
mVideoView.setOnPreparedListener(this);
mVideoView.setOnInfoListener(this);
}
public SystemVitamioPlayerVideoView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public SystemVitamioPlayerVideoView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
public void reset() {
// TODO Auto-generated method stub
}
@Override
public void setVisibility(boolean visible) {
// TODO Auto-generated method stub
if(visible == false){
mVideoView.StopVideo();
}
}
@Override
public VideoViewInterface getVideoViewInterface() {
// TODO Auto-generated method stub
return mVideoView;
}
@Override
public MediaInfo getMediaInfo() {
// TODO Auto-generated method stub
return mVideoView.getMediaInfo();
}
@Override
public void SetState(STATE state) {
// TODO Auto-generated method stub
mVideoView.SetState(state);
}
@Override
public void SetVideoPaths(String video) {
// TODO Auto-generated method stub
mVideoView.SetVideoPaths(video);
}
@Override
public void SetVideoVisibility(boolean visible) {
// TODO Auto-generated method stub
}
@Override
public void StartVideo() {
// TODO Auto-generated method stub
mVideoView.StartVideo();
}
@Override
public void StopVideo() {
// TODO Auto-generated method stub
mVideoView.StopVideo();
}
@Override
public void PauseVideo() {
// TODO Auto-generated method stub
mVideoView.PauseVideo();
}
@Override
public void SeekVideo(int seekTo) {
// TODO Auto-generated method stub
mVideoView.SeekVideo(seekTo);
}
@Override
public boolean IsPlaying() {
// TODO Auto-generated method stub
return mVideoView.IsPlaying();
}
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
if(Debug)Log.d(TAG,"onPrepared()");
mVideoView.SetState(STATE.MEDIA_STATE_INITED);
mVideoView.setScreenLayoutParams(JoyplusMediaPlayerScreenManager.getInstance().getScreenParamsDefault());
}
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
if(Debug)Log.d(TAG,"onCompletion()");
mVideoView.SetState(STATE.MEDIA_STATE_FINISH);
}
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
if(Debug)Log.d(TAG,"onError("+what+" ,"+extra+")");
mVideoView.SetState(STATE.MEDIA_STATE_UNKNOW);
return true;
}
@Override
public MediaInfo getTargetMediaInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void SetINFO(int info) {
// TODO Auto-generated method stub
}
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
Log.i("Jas","Vitamio info="+what+" "+extra);
mVideoView.SetINFO(what);
return false;
}
@Override
public boolean setScreenLayoutParams(int type) {
// TODO Auto-generated method stub
mVideoView.setScreenLayoutParams(type);
return true;
}
@Override
public int getScreenLayoutParams() {
// TODO Auto-generated method stub
return mVideoView.getScreenLayoutParams() ;
}
}