<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>SoundCloud TEST</title> <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script> <script src="http://connect.soundcloud.com/sdk.js"></script> </head> <body> <button id="play">再生</button> <button id="pause">一時停止</button> <button id="stop">停止</button> <button id="duration">総再生時間をコンソールに出力</button> <button id="position">現在の再生時間をコンソールに出力</button> <script> // 初期化 SC.initialize({client_id: 'xxxxxxxxxx'}); // ストリーミングオブジェクト(?) var s = null; SC.stream('/tracks/293', function(sound){ s = sound; }); // 再生 $('#play').click(function() { s.play(); }); // 一時停止 $('#pause').click(function() { s.pause(); }); // 停止 $('#stop').click(function() { s.stop(); }); // 総再生時間をコンソールに出力 $('#duration').click(function() { console.log(s.duration); }); // 現在の再生時間をコンソールに出力 $('#position').click(function() { console.log(s.position); }); </script> </body> </html>上記サンプルのポイントは
* SC.initialize()にクライアントIDを渡して初期化する
* SC.stream()のコールバックでストリーミングオブジェクト(という表現が正しいのかわからない...)をグローバルな場所に保存
くらいでしょうか。
尚、durationは、再生直後に取得した場合と、少し間をおいた場合とで、値が変わりました。ローディングに合わせて増えていくように見えました。
SoundCloudのドキュメントは以下です。
http://developers.soundcloud.com/docs/api/sdks#streaming
ドキュメントに記載されているように、SoundCloudのJSライブラリは、SoundManager 2というライブラリを用いているようです。
(これが結構がっつりしてる気がする...)
No comments:
Post a Comment