Android записывает видео на SDCard - PullRequest
0 голосов
/ 23 июня 2010

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

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 голос
/ 23 июня 2010
  1. Убедитесь, что у вас есть разрешение WRITE_EXTERNAL_STORAGE

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

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

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

...