0

我正在尝试将视频录制到 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(); 
}
4

1 回答 1

1
  1. 确保您有WRITE_EXTERNAL_STORAGE权限

  2. 您的输出文件假定 SD 卡位于/sdcard,这在某些设备和 Android 版本上是不正确的 -- 请使用Environment.getExternalStorageDirectory()

  3. 您的输出文件缺少文件名

  4. 您的输出文件的扩展名拼写错误

于 2010-06-23T11:51:22.193 回答