残念ながら、/oembed
現時点では通常のウィジェット (Flash の HTML5) でしか機能しません。
ただし、どちらの html も自分で作成できます。小さなウィジェット埋め込みのテンプレートは次のとおりです。
<object height="18" width="100%">
<param name="movie" value="https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F{trackId}&player_type=tiny{widgetParams}"></param>
<param name="allowscriptaccess" value="always"></param>
<param name="wmode" value="transparent"></param>
<embed wmode="transparent" allowscriptaccess="always" height="18" width="100%" src="https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F{trackId}&player_type=tiny{widgetParams}"></embed>
</object>
通常のウィジェットのテンプレート:
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="http://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F{trackId}{widgetParams}"></iframe>
これらを (改行なしで) 文字列に入れ、これらの文字列に対して変数補間を実行する必要があります。どの言語を使用しているかはわかりませんが、ほとんどの言語にはこれが組み込まれています。
ほとんどの場合、私が書いている JavaScript の場合、Douglas Crockford のsupplant
functionを使用できます。
変数はtrackId
、値が正の整数でwidgetParams
ある必要があるものと、値が のようなものである必要があるもので、接頭辞&color=ff6600&auto_play=false
が のkey=value
ペア&
です。{
この例では、補間する変数の区切り文字としてandを使用しまし}
たが、もちろん、言語またはテンプレート エンジンが必要とするものであれば何でもかまいません。
クライアントがトラック URL を提供できるようにするには、/resolve
エンドポイントに対して API リクエストを実行して、トラック URL (パーマリンク) からトラック ID を取得する必要があります。client_id
API へのリクエストを承認するには、開発者として登録する必要があります。ここで別の回答で JavaScript でそれを行う方法を説明しました。
API へのリクエストを行いたくない場合は、クライアントに、「共有」ボタンを押して SoundCloud 上の任意のサウンドまたはセットから簡単に取得できる埋め込みコードを提供するように依頼し、サウンドまたはセットを抽出することもできます。正規表現を使用した ID。
小さなウィジェットを挿入するためにこれがどのように機能するかの例を次に示します (SoundCloud JS SDK も使用) http://jsbin.com/OLUloX/1/edit