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);
}
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
- service里面出现Invalid preview surface
- jeesite Service里面 new service 出现棘手的问题
- SharePoint2016 New Feature (Preview) - User Profile Service
- messages里面出现的错误信息 avahi-daemon[3162]: Recieved repsonse with invalid source port 23335 on interface 'eth0.0'
- preview
- preview
- Preview
- service 里面使用toast
- service 里面弹对话框
- Error: E0005E: Invalid tile service
- Surface
- surface
- Surface
- 虚幻4 umg里面 viewport在preview 里面显示全是黑色的问题
- 分区时候出现Invalid argument
- print,出现SyntaxError: invalid syntax
- myeclipse tomcat发布出现INVALID
- shmget出现Invalid argument错误
- AsyncTask中的OnPostExecute()没有正常运行
- Android TCP连接问题
- android通过TCP发消息
- Bash On Windows 学习
- 求优化和指导一个非常简单的逻辑异或加密函数
- service里面出现Invalid preview surface
- Leetcode Repeated Substring Pattern
- 求大神笼罩,双卡手机拨号问题。
- listview 点赞 问题
- 关于列表界面与详情界面数据传输共享的一点疑问
- android SharePreference中使用次数太多,key太多了,太乱?key值整理成常量类,会不会影响数据安全性?
- 为什么我在手机上写的程序调用service的activity关闭后service也会关闭
- 如何在不同的手机上获得软键盘的高度
- 关于蓝牙打印机的一些问题