2016-05-23 9 views
0

用のカメラの最大サポートフレームレートを計算する方法:https://developer.android.com/reference/android/media/MediaRecorder.html#setCaptureRate%28double%29:ビデオカメラで撮影することが可能な解像度のために このdocによると、与えられた解像度

は、最速 FPSを用いて計算することができます。 getPreviewFpsRange(int []) "

しかし、私はそれについての例を見つけることができません。

私がしようとしました:

List<Camera.Size> sizes = p.getSupportedPreviewSizes(); 
    p.setPreviewSize(sizes.get(0).width, sizes.get(0).height); 
    cam.setParameters(p); 

すなわち解像度のすべての種類のプレビューサイズを設定するが、それは常に5000のように同じ結果を返した後getPreviewFpsRange(int[])を呼び出す - ACERに60000から5000をネクサス4に30000、またはタブレット。これは、これらのデバイスがすべての解像度で最大fpsをサポートしていることを意味しますか、何か不足していますか?

誰かが解像度ごとに最大fpsを計算する方法を知っていますか?

+0

私が正しく理解していれば、このメソッドは固定値(MINとMAXを固定した範囲)を返さなければなりません。解像度を固定すると、FPSも固定になります(理想的には、実際には少し変動しますが、それでも固定値に近い)。解像度を変更しても、このデバイスとカメラのMIN/MAX値は変わりません。 –

+0

高解像度のfpsを設定すると、上限が低くなることを期待していました... – Ognyan

答えて

0

getSupportedPreviewSizesはdeprecated along with Cameraになりました。しかし、in AOSPは解像度とは無関係のフレームレート範囲の固定リストを返すだけでした。いくつかのメーカーがこの動作を無効にしているかもしれませんが、私はそれを見たことがなく、特定のプレビュー解像度にどのように関係しているかは不明です。

少なくとも1つのデバイスでは、320 x 240などの低解像度を含むすべてのものについて、プレビュー解像度1280 x 720と15 FPSで30 FPSが得られます。グラフィックドライバは特定のプレビュー解像度に最適化されていると思われますが、古いCamera SDKでは、ドライバがその情報を利用可能にしても、この情報を共有する方法はありません。

Camera2インターフェイスは、getHighSpeedVideoFpsRangesForの形式で解決策を提供しているようですが、自分で試したことはありません。

関連する問題