我正在製作一個應用程序,它使用相機。當它啓動時,它會執行代碼來檢查攝像機的功能。一張支票我做的是以下幾點:setParameters在設置棕褐色時失敗,但縮放正常工作
List<String> supported_colour_effects_list = java_recording_camera_parameters.getSupportedColorEffects();
Mylog("There are "+supported_colour_effects_list.size()+" supported colour effects");
for (int i = 0;i < supported_colour_effects_list.size();i++)
{
Mylog("Colour effect: ["+supported_colour_effects_list.get(i)+"]");
}
當此代碼執行時,我看到下面的輸出:
I/xx(11517): There are 12 supported colour effects
I/xx(11517): Colour effect: [none]
I/xx(11517): Colour effect: [mono]
I/xx(11517): Colour effect: [negative]
I/xx(11517): Colour effect: [solarize]
I/xx(11517): Colour effect: [sepia]
I/xx(11517): Colour effect: [posterize]
I/xx(11517): Colour effect: [whiteboard]
I/xx(11517): Colour effect: [blackboard]
I/xx(11517): Colour effect: [aqua]
I/xx(11517): Colour effect: [emboss]
I/xx(11517): Colour effect: [sketch]
I/xx(11517): Colour effect: [neon]
然後程序繼續進行,我可以看到的攝像頭看到的連續預覽。如果我按一個按鈕來煽動下面的代碼...
java_recording_camera_parameters.setZoom(75);
java_camera_for_recording.setParameters(java_recording_camera_parameters);
然後一切工作完全符合預期,你可以看到預覽圖像突然進行放大。位如果我換行java_recording_camera_parameters.setZoom(75);
爲java_recording_camera_parameters.setColorEffect(Camera.Parameters.EFFECT_SEPIA);
然後,當我按同樣的按鈕,然後我得到以下錯誤...
W/System.err(4128): java.lang.RuntimeException: setParameters failed
W/System.err(4128): at android.hardware.Camera.native_setParameters(Native Method)
W/System.err(4128): at android.hardware.Camera.setParameters(Camera.java:1551)
我不知道爲什麼。
聽起來就像你在痛苦的經歷中說話! – Mick 2014-10-08 13:25:46
是的,剛剛測試過 - 內置相機應用程序也會在設置棕褐色時崩潰! – Mick 2014-10-08 14:14:36
那是哪個設備? – 2014-10-08 14:49:22