0
您好我正在開發一個Android相機應用程序,我正在實現視頻錄製功能。我正在使用切換按鈕從相機切換到視頻。我使用下面的代碼:實現視頻錄製功能後,自定義相機應用程序中的媒體錄像機失敗
private void prepareRecorder()
{
recorder = new MediaRecorder();
recorder.setPreviewDisplay(holder.getSurface());
if (usecamera)
{
camera.unlock();
recorder.setCamera(camera);
}
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setProfile(camcorderProfile);
}
public void surfaceCreated(SurfaceHolder holder)
{
if (usecamera)
{
camera = Camera.open();
try
{
camera.setPreviewDisplay(holder);
camera.startPreview();
previewRunning = true;
}
catch (IOException e)
{
Log.e(LOGTAG,e.getMessage());
e.printStackTrace();
releaseCamera();
}
}
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
{
Log.v(LOGTAG, "surfaceChanged");
if (!recording && usecamera)
{
if (previewRunning)
{
camera.stopPreview();
}
try
{
Parameters p = camera.getParameters();
p.setPreviewSize(camcorderProfile.videoFrameWidth,camcorderProfile.videoFrameHeight);
p.setPreviewFrameRate(camcorderProfile.videoFrameRate);
camera.setParameters(p);
camera.setPreviewDisplay(holder);
camera.startPreview();
previewRunning = true;
}
catch (IOException e)
{
e.printStackTrace();
}
prepareRecorder();
}
}
public void surfaceDestroyed(SurfaceHolder holder)
{
if (recording)
{
recorder.stop();
recording = false;
}
recorder.release();
if (usecamera)
{
previewRunning = false;
camera.lock();
camera.release();
}
}
但問題是,當我從相機切換到視頻模式,相機預覽持續幾秒鐘,又回到了相機的主要預覽。並且我得到以下錯誤:
08-30 17:52:27.843: E/MediaRecorder(6421): prepare failed: -15
沒有得到我錯誤的地方。請幫忙!謝謝!