2010-06-23 2 views
0

Я пытаюсь записать видео в SDCard. Но каждый раз, когда я нажимаю кнопку «Запись», она показывает «неожиданно остановилась». Не слишком уверен, где пошло не так. Я не уверен, что путь setOutputFile - это то, как я должен указывать.Android записывает видео в SDCard

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.camera); 

    cam = new cameraview(this); 
    ((FrameLayout) findViewById(R.id.preview)).addView(cam); 
    // Create A Preview View 

    buttonClick = (Button) findViewById(R.id.buttonClick); 
    buttonClick.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      if(toogleButtonFlag) 
      { 
       startRecording(); 
       toogleButtonFlag = false; 
      } 
      else{ 
       stopRecording(); 
       toogleButtonFlag = true; 
      } 

     } 
    }); 
} 

public void startRecording(){ 
    recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
    recorder.setOutputFile("/sdcard/.3pg"); 
    try{ 
    recorder.prepare(); 
    } 
    catch(IOException e) 
    { 
     e.printStackTrace(); 
     recorder.reset(); 
     recorder.release(); 
    } 
    recorder.start(); // Recording is now started 
} 

public void stopRecording(){ 
    recorder.stop(); 
    recorder.reset(); 
    recorder.release(); 
} 

ответ

1
  1. Убедитесь, что вы имеете WRITE_EXTERNAL_STORAGE разрешение

  2. Выходной файл предполагает СД карты на /sdcard, который некорректно на некоторых устройствах и версиях Android - используйте Environment.getExternalStorageDirectory()

  3. В вашем выходном файле отсутствует имя файла

  4. Ваш выходной файл имеет ошибочное расширение

Смежные вопросы