PR

はじめよう!Red5プログラミング

2008年11月19日(水)
澤村 正樹

Red5プログラミングをはじめよう

 前回(http://www.thinkit.co.jp/article/152/2/)は、Red5をインストールして同梱(どうこん)されているデモアプリを見ていくことでRed5を使ったアプリケーションのイメージをつかんでいただきました。今回は、実際にプログラミングしていきます。Red5を使った一歩進んだFlashの世界へふみだしてみましょう。

 まずは必要なものをそろえます。Red5はJavaで書かれたサーバーですので、サーバー側の実装はJavaになります。クライアント側はFlashですので、言語としてはActionScriptで書くことになります。

 具体的に必要になるのは、クライアント側はおなじみのFlash CS3などのFlash IDEかFlex SDK、または、Flex Builderで行います。最低限のセットとしては無料で手に入るFlex SDKがあればなんとかなります。Flex SDKはAdobeのページ(http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK)からダウンロードしてください。

 また、ActionScriptの開発時にはデバッグ版のFlash Playerも必須と言えます。デバッグ版のFlash Playerを使うことによってtraceログを残すことができるようになります。こちらもAdobeのページ(http://www.adobe.com/support/flashplayer/downloads.html)からダウンロードしてください。サーバー側でJavaを書く際には、Eclipseを利用するのが一般的となっています。

クライアントプログラミング

 まずは、クライアント側のプログラミングから見ていきます。サンプルコードはこちらからダウンロード(http://www.thinkit.co.jp/images/article/152/3/15231.zip)できます(15231.zip/2.18 KB)。

 サーバー側はRed5のデフォルトのアプリケーションを使いまわすことでかなりのことが可能になります。ここではデモでも使われていた「rtmp://localhost/oflaDemo」に接続するイメージでクラアント側の解説をしていきます。

 サーバーと連携するActionScriptを書く際に一番重要になるのは、flash.net.NetConnectionクラスです。まずそれをインポートします。

import flash.net.NetConnection;

 NetConnectionに接続するコードは典型的には、次のようになります。

private var nc:NetConnection = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
nc.connect("rtmp://localhost/oflaDemo");

 上記コードでは、まずNetConnectionクラスのオブジェクトを生成し、ステータスが変わった時のハンドラとなるメソッド、およびエラーの時のハンドラとなるメソッドを割り当ててRed5サーバーに接続しています。rtmp~ではじまるURLが前回(http://www.thinkit.co.jp/article/152/2/)試した各種デモ使われていたサーバーサイドアプリケーションになります。コネクションのイベントハンドラでは一番シンプルな形は次のようになります。

private function onNetStatus(evt:NetStatusEvent):void {
if(evt.info.code == "NetConnection.Connect.Success"){
//... 接続に成功した時の処理

 受け取るイベントオブジェクトのinfo.codeプロパティからステータスを確認し、成功状態であったならば、サーバーサイドと連携した処理を開始します。

 次は、共有オブジェクトを使った例と、ウェブカムからの動画を扱った例とを見ていきます。

NTTレゾナント株式会社
1976年生まれ、横浜国立大学電子情報工学科卒業。論文査読システムや写真ストックサイトなどのフロントエンドエンジニアリングを経て、角川書店系のウォーカープラス・ドット・コムにて各種サービス開発にかかわる。現在はNTTレゾナント「goo」にて検索サービスを中心としたエンジニアリングとユーザーインターフェース設計、および新サービスの企画立案に携わる。gooラボ:http://labs.goo.ne.jp/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています

はじめよう!Red5プログラミング | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。