Saqoosha.net

  1. About
  2. Archives
  3. Search
  4. Say
Language:

Ustream Flash Client API で IRC してみる

こないだのてら子では中継に初めてニコ生を使ってみたんだけど、初めてすぎて途中でいろいろめんどくなっちゃって Ustream に切り替えちゃった。お金もかかるしねー。まーでもあのコメントがだーって流れるのはそれはそれでおもしろい。で、前にもそんあことを思ったことがあって、Ustream のチャットをニコニコ風にオーバーレイして流すニコニコ Ustream ってのを作ったことがありました。(わー、2 年も前だわw。超絶おもしろかったなあ)そんときは、Ustream のプレイヤー swf から FMS とのやりとりをこっそり拝見させていただきまして、ストリームをぶっこぬいてたのですが、まー、そんな手がいつまでも使えるわけもなく、まったく動作しなくなっておりました。んで、最近 @hoehoe 氏のブログで Ustream Flash Client API とかいうのがあるのを知りまして、じゃー、また作れるやん?ってことでちょっと試したっていう話。実はてら子中に作っていた。前置き長い。

結論から言うと、すげー簡単にできた。大変だったのは API の使い方がわからんというところだ。API ドキュメントがあるんだけど無いに等しい内容でこれだったら FDT とかで SWC 見る方が早い、ってか実はそっちのが正しいみたいな。まー、↓みたいにすれば IRC つながりますので、@hoehoe 氏のやりかたで映像ひっぱってきてのっければニコニコ Ustream 完成ですなー。

package {
    import tv.ustream.irc.Channel;
    import tv.ustream.irc.Chat;
    import tv.ustream.irc.Irc;
    import tv.ustream.tools.DynamicEvent;
 
    import flash.display.Sprite;
    import flash.events.Event;
 
    public class IrcTest extends Sprite {
 
        private var _irc:Irc;
        private var _channel:Channel;
        private var _chat:Chat;
 
        public function IrcTest() {
            _irc = new Irc('username', 'password');
            _irc.addEventListener('connect', _t);
            _irc.addEventListener('connected', _t);
            _irc.addEventListener('ready', _t);
            _irc.addEventListener('motd', _onMotd);
            _irc.addEventListener('createChat', _t);
            _irc.addEventListener('createChannel', _onCreateChannel);
            _irc.addEventListener('disconnected', _t);
            _irc.addEventListener('ioError', _t);
            _irc.addEventListener('securityError', _t);
        }
 
        private function _t(...args):void {
            trace('******', args);
        }
 
        private function _onMotd(e:Event):void {
            _t(e);
            _irc.join('HogeChannel');
        }
 
        private function _onCreateChannel(e:DynamicEvent):void {
            _t(e);
            _channel = e.channel;
            _channel.addEventListener('message', _onMessage);
            _chat = new Chat('#HogeChannel', _irc);
            _chat.send('Uryaaaaaa!!!');
        }
 
        private function _onMessage(e:DynamicEvent):void {
            _t(e.from + ': ' + e.message);
        }
    }
}

この IRC クラス、Ustream だけに使えるとか制限あるわけじゃないので freenode とか別の IRC サーバーにも普通につながる。IRC クラスのコンストラクタの第 3 引数にサーバー名渡すだけ。ライセンスは確認してないけど。

2 Responses to “Ustream Flash Client API で IRC してみる”

  1. 雄飛 Says:

    Macで生放送をしているものです。
    コメントが流れるIRCを
    画面キャプチャーソフトの
    CamTwistのエフェクトとして取り込むことはできませんでしょうか?
    CamTwistにはIRCが実装されていますが、
    表示が非常に残念なのです(´-ω-`;)
    CamTwistのエフェクトとして実装できれば
    配信者としてはとても嬉しいのですが・・・

  2. Chrome ExtensionsでUstreamを楽しむ決定版 – Shift×Style×Blog Says:

    [...] でまぁとりあえずUstreamを引っ張ってくるswfを作成するところが一番の肝です。 ちゅーわけで、こことかこことか参考にしながらポチポチ作りましょう。 [...]

Leave a Reply



なんだか背景がまっしろだなーっていう人は最新のブラウザにアップデートしてみることをおすすめします。
どうやら Flash Player の最新版がインストールされていないようです。こちらから最新版をインストールするともうちょっと素敵な Saqoosha.net を見ることができるかもしれません → Flash Player Download