【发布时间】:2011-02-09 13:21:44
【问题描述】:
我的问题。 我创建了从 Android 上的相机进行预览的应用程序。 在我没有按下按钮时进行预览 - 我使用了相机,camera.open。当应用程序启动时 - 屏幕方向正常.. 但是当我尝试录制视频时 - 我关闭了相机预览并仅使用 SurfaceView 和 recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); 它向我展示了没有相机类的相机预览。 我所做的所有这些都是因为它在录制后为我修复了绿色屏幕的错误。 所以......这个预览(没有相机)他开始后总是旋转 90 度(就像在模式景观中) 我尝试使用
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE );
和
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );
但这并没有解决我的问题。 那么,谁能告诉我如何在 SCREEN_ORIENTATION_PORTRAIT 等模式下旋转我的预览(不带相机)?
请告诉我如何解决这个问题.. 我不能解决它 2-3 天:(
问候,彼得 p.s.对不起我的英语不好,希望你能理解我。
这是我在录制视频/音频时用于预览的代码
preview = new SurfaceView(withPreview.this);
preview.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS );
从相机获取图片
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
现在屏幕旋转了 90 度。如果我设置了
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
比图像旋转 180 度 О_О
并设置预览
recorder.setPreviewDisplay(holder.getSurface());
这就是相机预览所需的全部内容 你怎么能看到我没有使用相机..所以我不能使用 camera.parameters.setOrientation(90) //example :]
【问题讨论】: