service里面出现Invalid preview surface

来源:互联网 发布:学炒菜的软件 编辑:程序博客网 时间:2024/06/05 21:08
这是log:
01-08 02:13:09.926: D/ActivityThread(2964): SVC-Creating service: CreateServiceData{token=android.os.BinderProxy@42530b60 className=com.huixin.carnav.dvr.service.SuspensionService packageName=com.huixin.carnav.dvr intent=null}
01-08 02:13:09.928: I/SuspensionService(2964): onCreate
01-08 02:13:09.928: I/SuspensionService(2964): mWindowManager--->android.view.WindowManagerImpl$CompatModeWrapper@42532fe0
01-08 02:13:09.940: I/SuspensionService(2964): Width/2--->30
01-08 02:13:09.940: I/SuspensionService(2964): Height/2--->30
01-08 02:13:09.952: E/(2964): ================================================
01-08 02:13:09.952: E/service(2964): >>>>>>>>>>>>>>>>>>>>>> = android.media.MediaRecorder@42535260
01-08 02:13:09.963: E/MediaRecorderJNI(2964): Application lost the surface
01-08 02:13:09.963: W/System.err(2964): java.io.IOException: invalid preview surface
01-08 02:13:09.963: W/System.err(2964):  at android.media.MediaRecorder._prepare(Native Method)
01-08 02:13:09.964: W/System.err(2964):  at android.media.MediaRecorder.prepare(MediaRecorder.java:686)
01-08 02:13:09.964: W/System.err(2964):  at com.carnav.dvr.service.SuspensionService.executeVideo(SuspensionService.java:318)
01-08 02:13:09.964: W/System.err(2964):  at com.carnav.dvr.service.SuspensionService.onCreate(SuspensionService.java:69)
01-08 02:13:09.964: W/System.err(2964):  at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)
01-08 02:13:09.964: W/System.err(2964):  at android.app.ActivityThread.access$1600(ActivityThread.java:149)
01-08 02:13:09.964: W/System.err(2964):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)
01-08 02:13:09.964: W/System.err(2964):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 02:13:09.964: W/System.err(2964):  at android.os.Looper.loop(Looper.java:153)
01-08 02:13:09.964: W/System.err(2964):  at android.app.ActivityThread.main(ActivityThread.java:4987)
01-08 02:13:09.964: W/System.err(2964):  at java.lang.reflect.Method.invokeNative(Native Method)
01-08 02:13:09.965: W/System.err(2964):  at java.lang.reflect.Method.invoke(Method.java:511)
01-08 02:13:09.965: W/System.err(2964):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
01-08 02:13:09.965: W/System.err(2964):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
01-08 02:13:09.965: W/System.err(2964):  at dalvik.system.NativeStart.main(Native Method)


下面为录制的代码
try {
if(isRecording){
// 未录像(进行录像)
if (isPreview) {
if(camera != null){
// 如果 Camera正在使用,则暂停清空
camera.stopPreview();
camera.release();
camera = null;
}
}
if (mMediaRecorder == null){
mMediaRecorder = new MediaRecorder();
mMediaRecorder.reset();
}
// 创建录像文件
fileName = System.currentTimeMillis() + ".mp4"; // 文件名  时间戳.mp4
absolutePath = Constants.RECORD_VIDEO_PATH + fileName; // 保存路径 + 文件
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
if(ParamsConfig.RECORD_VIDEO_RESOLUTIONS != null && ParamsConfig.RECORD_VIDEO_RESOLUTIONS[0] != 0){
mMediaRecorder.setVideoSize(ParamsConfig.RECORD_VIDEO_RESOLUTIONS[0],ParamsConfig.RECORD_VIDEO_RESOLUTIONS[1]);
}
mMediaRecorder.setVideoFrameRate(15); 
// 保存地方
mMediaRecorder.setOutputFile(absolutePath);
mMediaRecorder.setPreviewDisplay(surfaceHolder.getSurface());
Log.e("", "================================================");

try {
                mMediaRecorder.setOnInfoListener(this);
                Log.e("service", ">>>>>>>>>>>>>>>>>>>>>> = " + mMediaRecorder);
                mMediaRecorder.setOnErrorListener(this);
mMediaRecorder.prepare();
mMediaRecorder.start();
Log.e("", "service start ============" + camera);
} catch (Exception e) {
e.printStackTrace();
Log.e("haha","开始录制报错" + e);
}
CustomToast.showToast(this, "开始录制");



}  catch (Exception e) {
// 因为异常销毁
//this.destroyWork(true);
}

0 1
原创粉丝点击