Java Android强制关闭定制摄像头应用程序中的录像机实现问题
我正在开发一个Android定制相机应用程序,并试图在其中实现视频录制功能。我正在使用下面的代码Java Android强制关闭定制摄像头应用程序中的录像机实现问题,java,android,camera,android-camera,video-capture,Java,Android,Camera,Android Camera,Video Capture,我正在开发一个Android定制相机应用程序,并试图在其中实现视频录制功能。我正在使用下面的代码 private boolean prepareMediaRecorder() { myCamera = getCameraInstance(); mediaRecorder = new MediaRecorder(); myCamera.unlock(); mediaRecorder.setCamera(myCamera
private boolean prepareMediaRecorder()
{
myCamera = getCameraInstance();
mediaRecorder = new MediaRecorder();
myCamera.unlock();
mediaRecorder.setCamera(myCamera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface());
try
{
File newFile = File.createTempFile("videocapture", ".mp4", Environment.getExternalStorageDirectory());
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
mediaRecorder.setOutputFile(newFile.getAbsolutePath());
}
catch (IOException e)
{
e.printStackTrace();
finish();
}
try
{
mediaRecorder.prepare();
}
catch (IllegalStateException e)
{
releaseMediaRecorder();
return false;
}
catch (IOException e)
{
releaseMediaRecorder();
return false;
}
return true;
}
但如果我使用相同的代码并在Galaxy选项卡上运行它,我会在代码的这个位置得到一个力
mediaRecorder.start();
错误日志如下所示
当我改变时,代码在同一个平台上运行良好
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
到
不明白为什么会这样。请帮忙!谢谢 您应该检查配置文件是否存在。我认为tab不支持它。你可以用试试看,你能解释一下如何准确地使用这个hassprofile代码吗??我试过。。。但是没有结果!hasprofile表示该配置文件是否存在。您可以检查返回值,如if(CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_LOW)){mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW));与QUALITY_HIGH相同希望您尝试了与QUALITY_HIGH相同的方法,因此代码看起来像if(CamcorderProfile.hasProfile(QUALITY_HIGH){setProfile(QUALITY_HIGH)}else if(camcoderprofile.hasprofile(quality_low){setprofile(quality_low)}这将仅在相机支持的情况下拾取配置文件。是的。我尝试了相同的…得到了此错误..java.lang.NoSuchMethodError:android.media.CamcorderProfile.hasprofile是API级别11的方法。请检查,int)
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW));