不带摄像头的SurfaceView:开始旋转90度后预览

时间:2011-02-09 13:21:45

标签: java android camera

我的问题。 我创建了从android上的相机预览的应用程序。 对于预览而我没有按下按钮 - 我使用了Camera,camera.open。当应用程序启动时 - 屏幕的方向是正常的..但是当我尝试录制视频时 - 我关闭了相机预览并且只使用了带有recorder.setVideoSource的SurfaceView(MediaRecorder.VideoSource.DEFAULT); 它显示我从没有类相机的相机预览。 所有这一切我确实因为我已经修好了录制后带绿色屏幕的bug。 所以...这个预览(没有摄像头)他开始后总是旋转90度(就像模式LANDSCAPE) 我试着用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE );

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );

但它没有解决我的问题。 那么,任何人都可以告诉我如何在SCREEN_ORIENTATION_PORTRAIT模式下旋转我的预览(没有相机)?

请告诉我如何解决这个问题..我无法修复2-3天:(

问候,彼得 附:抱歉我的英语不好,希望你能理解我。

这是我录制视频/音频时用于预览的代码

 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)//示例 :

1 个答案:

答案 0 :(得分:1)

是不是,您将屏幕方向修复为横向或纵向?还是应该是动态的? 所以如果我理解你,要修复屏幕的方向,那么我更喜欢将它添加到你的Android Manifest中:

android:screenOrientation="landscape"

这必须在activity-block中。

希望这会有所帮助,否则告诉我它什么时候应该是动态的。