Stickam JAPAN! Player API - Stickam JAPAN! Labs

目次

Stickam JAPAN! Player API v1

Stickam JAPAN! Player API(以下、Player API)を利用して、Stickam JAPAN!(以下、スティッカム)のライブを視聴したりチャットに参加する独自のライブアプリケーションを作成することができます。またライブ録画や動画を視聴することもでき、Stickam JAPAN! Data APIと組み合わせることによりアプリケーションの可能性が広がります。

v0からインターフェイスが一新され、ライブに関して機能追加が行われています。 このバージョンでは、画像・音楽・動画・Stickamライブの再生、およびStickamライブにおけるチャットの閲覧・発言することができます。 APIは現在JavaScriptからのみ利用可能です。ActionScript・Adobe AIRからのご利用は今しばらくお待ちください。

<html>
  <body>
    <div id="externalStickamPlayerAPI"></div>
    <script type="text/javascript" src="swfobject.js"></script><!-- SWFObject v2.0 -->
    <script type="text/javascript">
swfobject.embedSWF('http://labs.stickam.jp/api/flash/v1/',
                   'externalStickamPlayerAPI',
                   '320', '240', '9.0.0', null, {},
                   {bgcolor:'#000000', allowScriptAccess: 'always'},
                   {name: 'externalStickamPlayerAPI'});
swfobject.addDomLoadEvent(function() {
    var player = document.getElementById('externalStickamPlayerAPI');
    player.oninit = function() {
        player.addCallback('media.play', function(event) {
            if (event.status != 'ok') {
                alert(event.error.message);
                return;
            }
        });
        player.mediaPlay('http://www.stickam.jp/profile/reione');
    };
});
    </script>
  </body>
</html>

バージョン

  • 1.1
    • roomExit()後に同じライブをmediaPlay()すると映像を受信できない問題を修正
    • スティッカムと同様の帯域削減処理を導入
  • 1.0
    • 初期リリース

サンプル

使い方

初期化

  1. http://labs.stickam.jp/api/flash/v1/ から得られるFlashオブジェクトをページに埋め込みます。
  2. 埋め込んだOBJECT要素(またはEMBED要素)を取得します(以下playerといいます)
  3. playerにoninit関数を定義します。playerの準備が完了するとoninit関数が呼ばれます。
  4. oninit関数内でplayerに対する操作を記述します。

メソッド呼び出し

playerの準備が完了すれば

player.メソッド名(パラメータ)

というメソッド呼び出しによって様々な操作を行うことができます。 例えば、 http://www.stickam.jp/profile/etimestechnologies のライブ映像を再生するには

player.mediaPlay('http://www.stickam.jp/profile/etimestechnologies');

のようにurlを指定してmediaPlayメソッドを呼び出します。

メソッドのパラメータは、位置パラメータまたは名前付きパラメータでの指定が可能です。 例えばmediaPlay(url)は、

のどちらの書き方も受理されます。

イベント

playerは自身のイベントを通知するためにコールバックを呼び出します。コールバックは、addCallbackメソッドを呼び出すことにより設定することができます。 例えば、mediaPlayの成否を得るには、mediaPlayの実行より前に

player.addCallback('media.play', function(event) {
    if (event.status != 'ok') {
        alert(event.error.message);
        return;
    }
});

としてコールバックを設定しておきます。コールバックの引数eventは、以下のパラメータを持ちます。

event引数のパラメータ
パラメータ 意味
type イベントの種類 string
data イベントに関連したデータオブジェクト object
status ステータス "ok","fail"
error status=="fail"の場合にエラーの詳細が含まれます object
error.code エラーコード number
error.message エラーメッセージ string

メソッド

addCallback(type, callback)

イベントタイプに対するコールバックを追加します。

パラメータ
名前 意味
type イベントタイプ string
callback コールバック関数 function

removeCallback(type, callback)

イベントタイプがtypeで、コールバックがcallbackと等価(==)であるコールバックを削除します。 callbackは省略可能で、省略した場合typeに関連付けられた全てのコールバックが削除されます。

パラメータ
名前 意味
type イベントタイプ string
callback コールバック関数 function

mediaPlay(url)

メディアを再生します。

再生可能なメディアは現在、

種類 形式
画像
  • gif
  • jpg
  • png
動画 flv
ライブ Stickamライブ

となっています。

※roomEnterにより入室済みの場合(同じurlに付属するメディアを再生する場合には)、urlパラメータは省略可能です。

パラメータ
名前 意味
url 再生するメディアのURL string
イベント
パラメータ
type "media.play"
event.data {}

mediaPause()

一時停止します。 画像には効果がありません。

パラメータ
イベント
event.type "media.pause"
event.data {}

mediaResume()

再生ヘッド位置から再開します。 画像には効果がありません。

パラメータ
イベント
event.type "media.resume"
event.data {}

mediaStop()

再生を停止します。

パラメータ
イベント
event.type "media.stop"
event.data {}

mediaGetVolume()

音量を取得します。 画像には効果がありません。

mediaSetVolume(volume)

音量を変更します。 画像には効果がありません。

パラメータ
名前 意味
volume ボリューム 0〜100

mediaGetPosition()

再生ヘッドの位置を取得します。 画像には効果がありません。

mediaSetPosition(position)

再生ヘッド位置を変更します。 Stickamライブ、画像には効果がありません。

パラメータ
名前 意味
position 再生ヘッド位置[ms] 0〜

mediaGetDuration()

メディアの総時間をミリ秒単位で取得します。 Stickamライブ、画像には効果がありません。

roomEnter(url, nickname)

指定された部屋に入室します。現在Stickamライブのみ入室可能です。 nicknameを省略した場合、メンバー(ログイン済みユーザ)として入室を試みます。 ※mediaPlayにより再生済みの場合(同じurlに関連する部屋に入室する場合には)、urlパラメータは省略可能です。

パラメータ
名前 意味
url 入室する部屋のURL  
nickname ニックネーム  

roomSay(text, font, size, color, bold, italic, underline)

発言を行います。

パラメータ
名前 意味
text 発言内容 文字列
font フォント  
size サイズ  
color  
bold 太字かどうか true,false
italic 斜体かどうか true,false
underline 下線をつけるか true,false
パラメータ
イベント
event.type "room.say"
event.data {}

roomSetNickname(nickname)

ニックネームを変更します。

パラメータ
名前 意味
nickname ニックネーム 文字列

roomExit()

部屋から退室します。

authLogin(username, password)

サイトにログインします。

パラメータ
名前 意味
email ユーザ名 文字列
password パスワード 文字列

authLogout()

サイトからログアウトします。

userGetInfo(url)

ユーザ情報を取得します。