Flash Media Server4.5 ③ ビデオチャットを作成する~その2~
Flash Media Server4.5 ③ ビデオチャットを作成する~その2~
「FlashMediaServer4.5(FMS)の環境を利用し、簡易ビデオチャットを作成する」の2回目です。
さて今回は、前回作成したflaファイルの内容を細かく見ていきましょう。
【解説】簡易ビデオチャットの構造を説明します。
- Adobe Flashを起動します。
- 「ファイル」>「開く」で、前回作成したflaファイルを開きます。
- 前回記述したActionScriptを確認してみます。
var mycam=Camera.getCamera(); var mycam_audio:Microphone = Microphone.getMicrophone();
CameraクラスのgetCameraメソッドでインストールされているカメラが取得できます。
MicrophoneクラスのgetMicrophoneメソッドでインストールされているマイクが取得できます。
取得したCameraとMicrophoneオブジェクトを変数mycamとmycam_audioにセットします。
※mycam,mycam_audioは、全く別の変数名でも構いません。任意に命名できます。
別名を使用する場合は、以降のmycam,mycam_audioという変数名も、使用している名称に変更しなければなりません。mycam.setMode(800,600,5,false);
setModeメソッドを使って、カメラのキャプチャモードを設定します。
引数はwidth:int, height:int, fps:Number, favorArea:Booleanです。
横幅800px, 縦幅600px, fps(frame per second)5, favorArea:false(カメラの高さと幅の維持よりも、最大フレームレートの維持を優先する)を意味します。mycam.setQuality(0,100);
setQualityメソッドを使用して、カメラの最大帯域幅、画質を指定します。
このメソッドは、基本的にFMSを使用してカメラのキャプチャイメージを送信する場合に使用します。
引数はbandwidth:int, quality:intです。
FlashPlayerが使用できる最大帯域幅を指定する場合、bandwidthに値を指定し、qualityは0にします。
一方、最大帯域幅をqualityの画質レベルを送信できる幅に設定する場合、bandwidthは0にします。
qualityは、1の場合が最低品質(=最大圧縮)、100の場合が最高品質(=圧縮なし)です。var myvid:Video = new Video();
映像を表示させる場合、Videoクラスを使用します。
Videoクラスのインスタンス「myvid」を作成します。
※myvidは、全く別の変数名でも構いません。任意に命名できます。
別名を使用する場合は、以降のmyvidという変数名も、使用している名称に変更しなければなりません。myvid.x = 0; myvid.y = 0; myvid.width = 360; myvid.height = 270;
myvidの位置(x,y)と横幅(width)、縦幅(height)を指定します。
myvid.attachCamera(mycam);
カメラ映像をキャプチャしているオブジェクト「mycam」がビデオオブジェクト「myvid」に関連付けられます。
addChild(myvid);
myvidを表示リストに追加します。
表示リストとは、flash画面に表示されるすべてのオブジェクトを管理します。
これにより、上記で指定した大きさ・位置で、カメラから取得した映像が表示されるわけです。
まとめ
「カメラオブジェクトの映像をビデオオブジェクトに関連付け、ビデオオブジェクトを再生画面に表示させる」
という流れで映像が表示されていることが理解できましたでしょうか。
次回はいよいよ映像をFMSへ送信する部分を作っていきたいと思います。