2012-01-10 4 views
2

当社のターゲットデバイスは、サムスンギャラクシーP2であり、我々はFPSが33である持っている必要があり、ビデオを送信するために、すなわち、毎秒33フレーム、下記の私が使用していますどのようなコードで、この機能のCameraオブジェクトから生のプレビューデータをAndroidで最低33フレーム/秒で取得するにはどうすればよいですか?

List<int[]> supportedPreviewFps=parameters.getSupportedPreviewFpsRange(); 

出力が4000でした& 35000それだけでこの値をサポートしたので、私は、

parameters.setPreviewFpsRange(4000,35000); 

、手段、デバイスは秒あたり33フレームに毎秒4フレームをサポートしている、

は、今私はAPIの下に使用してsetFrameRangeを行うことができると信じていますa nd私は110ミリメートルのギャップでフレームを取得している、私は33 fpsを持っていると思う、間隔は30 - 33になる必要があります

何をすべきか?

+0

画像のプレビューはどのように処理していますか?デバイスをビジー状態に保っている可能性があります。 – Cheesebaron

+0

私は何もしていない、そして同じ問題 – Amitg2k12

答えて

0

おそらく、デバイスのCPUが不足している可能性があります。 プレビューコールバックは、特にネイティブではない形式を要求する場合、ソフトウェアを多用します。

adb shell 
    $ vmstat -d 1 

を使用して試してみて、アイドル状態のCPUの量を見てください。ゼロ(または〜5%未満)の場合は、おそらく問題がどこにあるのでしょうか。

これは軽減するのは簡単ではありません。わたしが知っている唯一の方法は、代わりにSurfaceTextureを使用し、GPUでできるだけ多くの処理を行うことです。

関連する問題