2012-01-10 30 views
2

我們的目標設備是三星Galaxy P2和傳輸視頻,我們需要有FPS爲33,即每秒33幀,下面是我在用的代碼,這個功能的如何在Android中從Camera對象獲取原始預覽數據至少33幀/秒?

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

產量爲4000 & 35000,相信裝置,裝置被支撐每秒4幀到每秒33幀,

現在我能做到使用以下API的setFrameRange,

parameters.setPreviewFpsRange(4000,35000); 

由於這是僅支持此值,一個nd我越來越框架在110毫秒的差距,我相信,有33幀/秒,間隔應該是30 - 33,

任何想法,該怎麼辦?

+0

你是如何處理圖像預覽?它可能會讓設備忙碌。 – Cheesebaron 2012-01-10 12:16:06

+0

即使我沒有做任何事情,那麼也是同樣的問題 – Amitg2k12 2012-01-10 12:18:16

回答

0

這可能是由於設備用完了CPU。 預覽回調相當軟件密集型,特別是如果您要求非本地格式。

使用

adb shell 
    $ vmstat -d 1 

,並期待在空閒的CPU的數量嘗試。如果它爲零(或小於〜5%),那麼這可能是問題所在。

這並不容易緩解:我意識到的唯一方法是使用SurfaceTexture,並在GPU中儘可能多地進行處理。

相關問題