2012-05-20 62 views
2

我試圖用相機預覽到工作..安卓:: Xoom的:攝像頭預覽方向

在manifest文件中,爲活動我設置screenOrientation景觀。 此外,android:minSdkVersion設置爲10. 我正在使用Motorola版本4.0.4的Motorola xoom進行測試。

在活動代碼中,我看到我得到「0」爲 activity.getWindowManager()。getDefaultDisplay()。getRotation();

此外,info.orientation返回0; [其中信息是Camera.CameraInfo。]

但是,我仍然不確定相機預覽在橫向模式下啓動。 如何交叉驗證相機預覽在哪種模式下啓動/如何設置相同。

回答

0
public void onOrientationChanged(int orientation) { 
    if (orientation == ORIENTATION_UNKNOWN) return; 
    android.hardware.Camera.CameraInfo info = 
      new android.hardware.Camera.CameraInfo(); 
    android.hardware.Camera.getCameraInfo(cameraId, info); 
    orientation = (orientation + 45)/90 * 90; 
    int rotation = 0; 
    if (info.facing == CameraInfo.CAMERA_FACING_FRONT) { 
     rotation = (info.orientation - orientation + 360) % 360; 
    } else { // back-facing camera 
     rotation = (info.orientation + orientation) % 360; 
    } 

可以使用Camera.Parameters的上述方法並知道方向。請參考LINK

+0

嗨,謝謝。我很快就厭倦了將Camera.parameter中的旋轉值設置爲不同的值(90,180,270)。這似乎沒有影響。我會嘗試執行onOrientationChanged並查看它是否有效。感謝您的快速關注和詳細的回覆,包括代碼片段。 setRotation doc。說它適用於Camera.PictureCallback,驚訝於他們沒有提及PreviewCallback。儘管如此。 –