80,360
社区成员
发帖
与我相关
我的任务
分享
01-05 11:21:48.480: W/System.err(29634): java.io.IOException: invalid preview surface
01-05 11:21:48.493: W/System.err(29634): at android.media.MediaRecorder._prepare(Native Method)
01-05 11:21:48.493: W/System.err(29634): at android.media.MediaRecorder.prepare(MediaRecorder.java:751)
01-05 11:21:48.493: W/System.err(29634): at com.text.camera.CameraTestActivity.InitAudio(CameraTestActivity.java:556)
01-05 11:21:48.493: W/System.err(29634): at com.text.camera.CameraTestActivity.onCreate(CameraTestActivity.java:140)
01-05 11:21:48.494: W/System.err(29634): at android.app.Activity.performCreate(Activity.java:5248)
01-05 11:21:48.494: W/System.err(29634): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-05 11:21:48.494: W/System.err(29634): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153)
01-05 11:21:48.494: W/System.err(29634): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2238)
01-05 11:21:48.494: W/System.err(29634): at android.app.ActivityThread.access$800(ActivityThread.java:138)
01-05 11:21:48.494: W/System.err(29634): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
01-05 11:21:48.494: W/System.err(29634): at android.os.Handler.dispatchMessage(Handler.java:102)
01-05 11:21:48.494: W/System.err(29634): at android.os.Looper.loop(Looper.java:136)
01-05 11:21:48.494: W/System.err(29634): at android.app.ActivityThread.main(ActivityThread.java:5016)
01-05 11:21:48.494: W/System.err(29634): at java.lang.reflect.Method.invokeNative(Native Method)
01-05 11:21:48.494: W/System.err(29634): at java.lang.reflect.Method.invoke(Method.java:515)
01-05 11:21:48.495: W/System.err(29634): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
01-05 11:21:48.495: W/System.err(29634): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
01-05 11:21:48.495: W/System.err(29634): at dalvik.system.NativeStart.main(Native Method)
01-05 11:21:51.285: D/dalvikvm(29634): GC_FOR_ALLOC freed 237K, 2% free 24786K/25064K, paused 29ms, total 29ms
mCamera.setDisplayOrientation(90);
mSurfaceHolder = mPreview.getHolder();
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mRecorder = new MediaRecorder();
mRecorder.reset();
if (mCamera != null){
mRecorder.setCamera(mCamera);
mPreview.setCamera(mCamera);
}
mCamera.startPreview();
mRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
//
// mRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW)); //设置视频和声音的编码为系统自带的格式
// mRecorder.setMaxFileSize(10*1024*1024); //设置视频文件的最大值为10M,单位B
// mRecorder.setMaxDuration(3*1000);//设置视频的最大时长,单位毫秒
// mRecorder.setVideoEncodingBitRate(4);// 设置帧频率,然后就清晰了
//mRecorder.setVideoSize(200,300);
// mRecorder.setOrientationHint(90);// 输出旋转90度,保持竖屏录制
// CamcorderProfile mProfile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
// mRecorder.setProfile(mProfile);
// mRecorder.setMaxDuration(1200000);
saveVieoFile = getOutputMediaFile(MEDIA_TYPE_VIDEO);
mRecorder.setOutputFile(saveVieoFile.getAbsolutePath());
try {
mRecorder.prepare();
mRecorder.start();
} catch (IllegalStateException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}