--/--/-- (--) スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |


2011/10/13 (Thu) Androidプログラミング カメラアプリ制作中(2)

20111012-234441.png

 「続きを読む」で端末によって異なるカメラがサポートしている機能を、Cameraクラスのオブジェクトを生成してParameterを取得して一覧表示(上画面:GARAPAGOS 005SHの結果)するコード。実際にこれらの値を利用するには「List」に入れて拡張for文であらかじめ定義されている定数とマッチさせ、一致したものをAdapterなどに入れて一覧表示(前回の記事)させれば良い。そして選択された数値をCameraオブジェクトのParameterにセットする。

①各々の端末がサポートしている機能を調べる
②用意された定数と照合する条件文で一致した項目を設定項目として追加する
③ユーザーが選んだ設定項目をカメラのオブジェクトにセットする

※保存可能サイズだけは取得方法が他と異なり若干面倒になっています

【課題】ISO感度の取得は出来るんだけど、その設定を反映させる方法が分からない。検索しても見つけられない。デフォルトのカメラが設定できてるから、やれないはずは無いと思うんだけれども(現在APIレベル8で制作中。それがいけないのだろうか)。とりあえず「parameters.set("iso-values", "ISO100");」という形でやってみたんだけど、結果には反映されていない様子。ヘルプ><

【追記】解決しました。詳しくは「Androidプログラミング カメラアプリ制作中(3)」にて。

  Camera camera = Camera.open();
Camera.Parameters params = camera.getParameters();

TextView tv = (TextView)findViewById(R.id.data);
String color = camera.getParameters().getSupportedColorEffects().toString();
String focus = camera.getParameters().getSupportedFocusModes().toString();
String wb = camera.getParameters().getSupportedWhiteBalance().toString();
String sm= camera.getParameters().getSupportedSceneModes().toString();
String fm= camera.getParameters().getSupportedFlashModes().toString();
String iso = camera.getParameters().get("iso-values");

StringBuffer sb = new StringBuffer();
List<Size> list = camera.getParameters().getSupportedPictureSizes();

for(Size size : list){
sb.append(size.width + "×" + size.height +", ");
}

tv.setText("【基本項目】\n"
+ "【対応保存サイズ】\n" + sb + "\n"
+"【対応フォーカスモード】\n" + focus + "\n"
+"【対応ホワイトバランスモード】\n" + wb+ "\n"
+"【対応カラーモード】\n" + color +"\n"
+"【対応シーンモード】\n" + sm+"\n"
+"【対応フラッシュモード】\n" + fm+"\n"
+"【対応ISO感度】\n" + iso +"\n"
);
camera.release();

プログラミング | trackback(0) | comment(0) |


<<嵐山に華 | TOP | ドッペルニャンガー>>

comment











管理人のみ閲覧OK


trackback

trackback_url
http://kononushi.blog46.fc2.com/tb.php/623-08e3043f

| TOP |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。