public void start(){
  if (SHOW_LOGS)   Logger.v(TAG,">> start");
synchronized (mState) {
    if (SHOW_LOGS)     Logger.v(TAG,"start, mState " + mState);
switch (mState.get()) {
case IDLE:
case INITIALIZED:
case PREPARING:
case STARTED:
      throw new IllegalStateException("start, called from illegal state " + mState);
case STOPPED:
case PLAYBACK_COMPLETED:
case PREPARED:
case PAUSED:
    if (SHOW_LOGS)     Logger.v(TAG,"start, video is " + mState + ", starting playback.");
  mMediaPlayer.start();
startPositionUpdateNotifier();
mState.set(State.STARTED);
break;
case ERROR:
case END:
throw new IllegalStateException("start, called from illegal state " + mState);
}
}
if (SHOW_LOGS) Logger.v(TAG,"<< start");
}

public void start ( ) { if ( SHOW_LOGS ) Logger . v ( TAG , ">> start" ) ; synchronized ( mState ) { if ( SHOW_LOGS ) Logger . v ( TAG , "start, mState " + mState ) ; switch ( mState . get ( ) ) { case IDLE : case INITIALIZED : case PREPARING : case STARTED : throw new IllegalStateException ( "start, called from illegal state " + mState ) ; case STOPPED : case PLAYBACK_COMPLETED : case PREPARED : case PAUSED : if ( SHOW_LOGS ) Logger . v ( TAG , "start, video is " + mState + ", starting playback." ) ; mMediaPlayer . start ( ) ; startPositionUpdateNotifier ( ) ; mState . set ( State . STARTED ) ; break ; case ERROR : case END : throw new IllegalStateException ( "start, called from illegal state " + mState ) ; } } if ( SHOW_LOGS ) Logger . v ( TAG , "<< start" ) ; }
play or resume video . video will be played as soon as view is available and media player is prepared . < p / > if video is stopped or ended and play ( ) method was called , video will start over .
