目次
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
- 初期リリース
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は、以下のパラメータを持ちます。
| パラメータ | 意味 | 値 |
|---|---|---|
| type | イベントの種類 | string |
| data | イベントに関連したデータオブジェクト | object |
| status | ステータス | "ok","fail" |
| error | status=="fail"の場合にエラーの詳細が含まれます | object |
| error.code | エラーコード | number |
| error.message | エラーメッセージ | string |
イベントタイプに対するコールバックを追加します。
| 名前 | 意味 | 値 |
|---|---|---|
| type | イベントタイプ | string |
| callback | コールバック関数 | function |
イベントタイプがtypeで、コールバックがcallbackと等価(==)であるコールバックを削除します。 callbackは省略可能で、省略した場合typeに関連付けられた全てのコールバックが削除されます。
| 名前 | 意味 | 値 |
|---|---|---|
| type | イベントタイプ | string |
| callback | コールバック関数 | function |
メディアを再生します。
再生可能なメディアは現在、
| 種類 | 形式 |
|---|---|
| 画像 |
|
| 動画 | flv |
| ライブ | Stickamライブ |
となっています。
※roomEnterにより入室済みの場合(同じurlに付属するメディアを再生する場合には)、urlパラメータは省略可能です。
| 名前 | 意味 | 値 |
|---|---|---|
| url | 再生するメディアのURL | string |
| パラメータ | 値 |
|---|---|
| type | "media.play" |
| event.data | {} |
一時停止します。 画像には効果がありません。
| イベント | 値 |
|---|---|
| event.type | "media.pause" |
| event.data | {} |
再生ヘッド位置から再開します。 画像には効果がありません。
| イベント | 値 |
|---|---|
| event.type | "media.resume" |
| event.data | {} |
再生を停止します。
| イベント | 値 |
|---|---|
| event.type | "media.stop" |
| event.data | {} |
音量を取得します。 画像には効果がありません。
音量を変更します。 画像には効果がありません。
| 名前 | 意味 | 値 |
|---|---|---|
| volume | ボリューム | 0〜100 |
再生ヘッドの位置を取得します。 画像には効果がありません。
再生ヘッド位置を変更します。 Stickamライブ、画像には効果がありません。
| 名前 | 意味 | 値 |
|---|---|---|
| position | 再生ヘッド位置[ms] | 0〜 |
メディアの総時間をミリ秒単位で取得します。 Stickamライブ、画像には効果がありません。
指定された部屋に入室します。現在Stickamライブのみ入室可能です。 nicknameを省略した場合、メンバー(ログイン済みユーザ)として入室を試みます。 ※mediaPlayにより再生済みの場合(同じurlに関連する部屋に入室する場合には)、urlパラメータは省略可能です。
| 名前 | 意味 | 値 |
|---|---|---|
| url | 入室する部屋のURL | |
| nickname | ニックネーム |
発言を行います。
| 名前 | 意味 | 値 |
|---|---|---|
| text | 発言内容 | 文字列 |
| font | フォント | |
| size | サイズ | |
| color | 色 | |
| bold | 太字かどうか | true,false |
| italic | 斜体かどうか | true,false |
| underline | 下線をつけるか | true,false |
| イベント | 値 |
|---|---|
| event.type | "room.say" |
| event.data | {} |
ニックネームを変更します。
| 名前 | 意味 | 値 |
|---|---|---|
| nickname | ニックネーム | 文字列 |
部屋から退室します。
サイトにログインします。
| 名前 | 意味 | 値 |
|---|---|---|
| ユーザ名 | 文字列 | |
| password | パスワード | 文字列 |
サイトからログアウトします。
ユーザ情報を取得します。