package min.Dandelion;
import java.io.File;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Toast;
import android.widget.VideoView;
public class video extends Activity {
 /** Called when the activity is first created. */
 private MediaRecorder  mRecorder;
 private VideoView   VideoView01; 
 //private View    VideoFrame;
 private boolean touchOn = true;
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.video);
  //VideoFrame  = (View)findViewById(R.id.VideoFrame);
  VideoView01 = (VideoView)findViewById(R.id.VideoView01);
  
  
  //VideoFrame.setOnTouchListener(videoTouchListener);  
  
  VideoView01.requestFocus();
   VideoView01.setVideoPath("/sdcard/testvideo.mp4");
  VideoView01.setVideoPath("/sdcard/testvideo.mp4");
  VideoView01.start();
  VideoView01.postDelayed(new Runnable() {
   public void run() {
    
    VideoView01.pause();
    
    
    Toast toast = Toast.makeText(getBaseContext(), 
            "터치하기", 
            Toast.LENGTH_LONG);
    toast.show();
    
    //터치
       
    VideoView01.setOnTouchListener(new View.OnTouchListener() {
     
     @Override
     public boolean onTouch(View v, MotionEvent event) {
      // TODO Auto-generated method stub
      
      if( touchOn == true ){
       
        if( !VideoView01.isPlaying())
      
      
      VideoView01.start();
      
      
      
      
      VideoView01.postDelayed(new Runnable() {
       public void run() {
        VideoView01.pause();
        
        
        Toast toast = Toast.makeText(getBaseContext(), 
               "마이크 불기", 
               Toast.LENGTH_LONG);
       toast.show();
       startRec(); 
       mRecRunnable.run(); 
       }
      }, 14000);
      
      touchOn=false;
      
     }      
      else
       ;
      return true;
     }
    });
    
   
   }
  }, 3000);
 
 }
 
 
 public void startRec() {         
  makeRecFile();
  
        mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mRecorder.setOutputFile(tmpFile.getAbsolutePath());
  mRecorder.setMaxDuration( 30 * 1000); 
        // Handle IOException
        try {
            mRecorder.prepare();
        } catch(IOException exception) {
         Log.e("REC", "ERROR: Can't Prepare Recorder");
            mRecorder.reset();
            mRecorder.release();
            mRecorder = null;
            return;
        }
        mRecorder.start();
 }
 
 private File tmpFile;
 private void makeRecFile()
 {     
        String tmpFileName = "/sdcard/" + "tmp.amr";
  tmpFile = new File( tmpFileName );
  if( tmpFile.exists())
   tmpFile.delete();
        
        tmpFile = new File(tmpFileName);
        Log.e("REC", "Tmp file: "  + tmpFile.getAbsolutePath());
 }
 private Handler mRecHandler = new Handler();
    private Runnable mRecRunnable = new Runnable() {
        public void run() {
         
         if( mRecorder != null )
         {
          
          int getAmp = mRecorder.getMaxAmplitude();
          if( getAmp > 25000 ) {
           Log.e("AMP", "AMP: "  + getAmp );
           if( VideoView01 != null )
            VideoView01.start();
           return;
          }
         }
         
            mRecHandler.postDelayed(this, 1000); 
        }
    };
    @Override
    protected void onDestroy() {
        super.onDestroy();
        
        if( mRecorder != null ) {
            mRecorder.reset();
            mRecorder.release();
            mRecorder = null;
        }
        
        if( VideoView01 != null ) {
         VideoView01.pause();
         VideoView01.stopPlayback();
         VideoView01 = null;
        }
        
  if( tmpFile != null )
   if( tmpFile.exists())
    tmpFile.delete();
    }
}
 


14초에서 영상이 멈춘 후에 마이크 입력값을 받으면 다시 영상이 재생되어야 하는데요,
단말기에서 실행해 본 결과, 14초에서 영상이 멈춘 상태로 마이크를 불어도 반응이 없습니다.
어느 부분에 문제가 있는 걸까요?