@Implementation
  protected void prepareAsync() {
    checkStateException("prepareAsync()", preparableStates);
    state = PREPARING;
    MediaInfo info = getMediaInfo();
    if (info.preparationDelay >= 0) {
      postEventDelayed(preparedCallback, info.preparationDelay);
    }
  }
@Implementation
  protected void prepareAsync() {
    checkStateException("prepareAsync()", preparableStates);
    state = PREPARING;
    MediaInfo info = getMediaInfo();
    if (info.preparationDelay >= 0) {
      postEventDelayed(preparedCallback, info.preparationDelay);
    }
  }
@ Implementation protected void prepareAsync ( ) { checkStateException ( "prepareAsync()" , preparableStates ) ; state = PREPARING ; MediaInfo info = getMediaInfo ( ) ; if ( info . preparationDelay >= 0 ) { postEventDelayed ( preparedCallback , info . preparationDelay ) ; } }
Simulates {@link MediaPlayer#prepareAsync()}. Sets state to PREPARING and posts a callback to
{@link #invokePreparedListener()} if the current preparation delay for the current media (see
{@link #getMediaInfo()}) is &gt;= 0, otherwise the test suite is responsible for calling {@link
#invokePreparedListener()} directly if required.

@see MediaInfo#setPreparationDelay(int)
@see #invokePreparedListener()
Simulates { @link MediaPlayer#prepareAsync () } . Sets state to PREPARING and posts a callback to { @link #invokePreparedListener () } if the current preparation delay for the current media ( see { @link #getMediaInfo () } ) is &gt ; = 0 otherwise the test suite is responsible for calling { @link #invokePreparedListener () } directly if required .