question: 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" ) ; }
target:  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.