requestWindowFeature(これは、ウインドウのタイトルを非表示にするためのものです。「requestWindowFeature」はウインドウの設定を行うもので、引数にタイトル非表示の設定を示すWindow.FEATURE_NO_TITLEを渡します。
Window.FEATURE_NO_TITLE);
mPreview = new Preview(this);カメラの表示を行うためのビュー「Preview」を作成し、setContentViewで画面に設定しています。このPreviewは、Androidに用意されているものではなくて、この後で作成するクラスです。
setContentView(mPreview);
class Preview extends SurfaceViewカメラの映像を表示するビュー「Preview」クラスの定義です。これは、SurfaceViewクラスを継承して作成します。そして、SurfaceHolder.Callbackというインターフェイスをimplementsします。SurfaceViewはイメージなどの表示を行うための基底クラスとして用いるものです。またSurfaceHolder.Callbackは、表示がされたり更新されたりした時のコールバックを用意するためのものです。
implements SurfaceHolder.Callback {
mHolder = getHolder();コンストラクタでは、SurfaceViewの表示をホールドする「SurfaceHolder」というクラスのインスタンスを取得(getHolder)し、これにコールバックを組み込み(addCallback)ます。これで、このSurfaceHolderで表示の更新などがされると、コールバック設定されたインスタンスのメソッドが呼び出されるようになります。またsetTypeを使い、SurfaceHolderのタイプをSURFACE_TYPE_PUSH_BUFFERSというものに設定します。これは、PUSHバッファというものを使うためのものです。
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mCamera = Camera.open();「Camera」は、文字通りカメラのクラスです。この「open」を呼び出すことで、カメラが起動?します。
try {「setPreviewDisplay」で、カメラの映像を、あらかじめ用意しておいたSurfaceHolderに設定します。設定に失敗した場合は、releaseでカメラを開放します。
mCamera.setPreviewDisplay(holder);
} catch (IOException exception) {
mCamera.release();
mCamera = null;
}
Camera.Parameters parameters = mCamera.getParameters();サーフェスが変更された際の処理で、ここでプレビュー表示の設定などを行っています。getParametersでCameraからパラメータを取得し、setPreviewSizeでプレビューサイズを設定します。そして、setParametersで再びCameraにパラメータを設定し、startPreviewでプレビューを開始します。
parameters.setPreviewSize(w, h);
mCamera.setParameters(parameters);
mCamera.startPreview();
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<< 前へ | 次へ >> |