2016-05-23 3 views
0

タイトルが説明するように、私はカメラパラメータを設定するためにsetPreviewSizeを使用しています。 Androidのドキュメントによると、Android setPreviewSize、320x480と480x320の両方がサポートされているかどうかを検出するにはどうすればよいですか?

たとえば、カメラが480x320と320x480のプレビューサイズの両方をサポートしているとします。

ので、私は、もしカメラの両方をサポートプレビューサイズを検出するために、getSupportedPreviewSizesを使用します。結果はわずか480x320ですが、320x480もサポートされています(複数の電話機でテストしました)。私は、結果を検出するために使用することができるいくつかの関数やフィールドがあるはずだと思う、私はGoogleを検索するが、見つかりませんでした。

誰かが答えを知っていますか?私を助けてください。ありがとうございました。

を追加しました 私のマニフェスト:

<uses-permission android:name="android.permission.CAMERA"/> 
<uses-feature android:name="android.hardware.camera"/> 

とgetSupportedPreviewSizesの結果:

320x240, 352x288, 480x320, 640x480, 720x480 ... 
+0

私はあなたがgetSupportedPreviewFormats()が必要だと思います。 –

+0

@MosheRabaev申し訳ありませんが、イメージフォーマットの結果をどのように見つけることができますか? – ldkxingzhe

+0

マニフェストファイルで特定の権限が問題になっている可能性があります。それ以外の方法はわかりません。 –

答えて

0

サイズはお使いのカメラの表面のためのサポートを取得するためにStreamConfigurationMapで出力PreviewSizesを確認します。

StreamConfigurationMap map = cameraCharacteristics.get(
      CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); 

    Size previewSizes = new Size[]; 
    Size videoSizes = new Size[]; 

    previewSizes = map.getOutputSizes(SurfaceTexture.class); 
    videoSizes = map.getOutputSizes(MediaRecorder.class); 
+0

申し訳ありません、それは単なる新しいAPIですが、結果は古いAPIと同じです。私はちょうどそれをテストした。電話はMeizu Mx 5です。 – ldkxingzhe

関連する問題