public void startPlayback(){
  Log.d(TAG,">> startPlayback");
  if (null == mRecordFile) {
    Log.e(TAG,"no file to playback!");
    return;
  }
  mPlayer=new MediaPlayer();
  try {
    mPlayer.setDataSource(mRecordFile.getAbsolutePath());
    Log.d(TAG,"MediaPlayer.setDataSource(" + mRecordFile.getAbsolutePath() + ")");
    mPlayer.setOnCompletionListener(this);
    mPlayer.setOnErrorListener(this);
    mPlayer.prepare();
    Log.d(TAG,"MediaPlayer.prepare()");
    mPlayer.start();
  }
 catch (  IOException e) {
    Log.e(TAG,"Exception while trying to playback recording file: " + e);
    setError(ERROR_PLAYER_INTERNAL);
    return;
  }
catch (  IllegalArgumentException e) {
    Log.e(TAG,"Exception while trying to playback recording file: " + e);
    setError(ERROR_PLAYER_INTERNAL);
    return;
  }
catch (  SecurityException e) {
    Log.e(TAG,"Exception while trying to playback recording file: " + e);
    setError(ERROR_PLAYER_INTERNAL);
    return;
  }
catch (  IllegalStateException e) {
    Log.e(TAG,"Exception while trying to playback recording file: " + e);
    setError(ERROR_PLAYER_INTERNAL);
    return;
  }
  setState(STATE_PLAYBACK);
  Log.d(TAG,"<< startPlayback");
}

public void startPlayback ( ) { Log . d ( TAG , ">> startPlayback" ) ; if ( null == mRecordFile ) { Log . e ( TAG , "no file to playback!" ) ; return ; } mPlayer = new MediaPlayer ( ) ; try { mPlayer . setDataSource ( mRecordFile . getAbsolutePath ( ) ) ; Log . d ( TAG , "MediaPlayer.setDataSource(" + mRecordFile . getAbsolutePath ( ) + ")" ) ; mPlayer . setOnCompletionListener ( this ) ; mPlayer . setOnErrorListener ( this ) ; mPlayer . prepare ( ) ; Log . d ( TAG , "MediaPlayer.prepare()" ) ; mPlayer . start ( ) ; } catch ( IOException e ) { Log . e ( TAG , "Exception while trying to playback recording file: " + e ) ; setError ( ERROR_PLAYER_INTERNAL ) ; return ; } catch ( IllegalArgumentException e ) { Log . e ( TAG , "Exception while trying to playback recording file: " + e ) ; setError ( ERROR_PLAYER_INTERNAL ) ; return ; } catch ( SecurityException e ) { Log . e ( TAG , "Exception while trying to playback recording file: " + e ) ; setError ( ERROR_PLAYER_INTERNAL ) ; return ; } catch ( IllegalStateException e ) { Log . e ( TAG , "Exception while trying to playback recording file: " + e ) ; setError ( ERROR_PLAYER_INTERNAL ) ; return ; } setState ( STATE_PLAYBACK ) ; Log . d ( TAG , "<< startPlayback" ) ; }
play current recorded file , if failed notify error message to caller , if success update fm recorder state
