0

私は初心者の Rails 開発者です。Rails と soundcloud を使って簡単なことをしようとしていますが、API ドキュメントをいじって数日後、私が望むことを行うための最良の方法を見つけることができないようです。

地元のパブでコンテストを開催しようとしています。DJ が最高のトラックを私たちに送ってくれ、投票で賞品を獲得することができます。

これに対する私の概算は、彼のトラックのサウンドクラウド URL をデータベース フィールドに保存し、このトラックを小さなサウンドクラウド プレーヤーを介して Web に表示することです。

ビューファイルでこのコードを使用できると思います。

<div id="player">
<object height="70" 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> 
</div>

{trackid} im を変更するには、track.id の値を使用します。これは、このコードを使用してコントローラーで取得します。

 client = Soundcloud.new(:client_id => '2074955755d1c3997e10463d8a56960f')

# call the resolve endpoint with a track url
track = client.get('/resolve', :url => "http://soundcloud.com/forss/flickermood")

# print the track id
@trackid = track.id

これは機能していません。

これを機能させるために私が試みた別の方法は、oEmbed を使用することです。API ドキュメントの例を実行しようとしました。

View ファイルでは、Javascript ウィジェットを配置する必要があることを理解しています。

<script src="http://connect.soundcloud.com/sdk.js"></script>
<script>
SC.initialize({
  client_id: 'xxxxxxxxxxxxxxxxxxxxxxx'
});

var track_url = 'http://soundcloud.com/forss/flickermood';
SC.oEmbed(track_url, { auto_play: true }, function(oEmbed) {
  console.log('oEmbed response: ' + oEmbed);
});
</script>

そしてコントローラーでこのコード:

# create a client object with your app credentials
client = Soundcloud.new(:client_id => 'xxxxxxxxxxxxxxxxxxxx')

# get a tracks oembed data
track_url = 'http://soundcloud.com/forss/flickermood'
embed_info = client.get('/oembed', :url => track_url)

# print the html for the player widget
puts embed_info['html']

私は少し迷っており、基本的なことで失敗していると思います。そのため、これを正確に実装する方法に関する情報が見つかりません。

御時間ありがとうございます

4

1 に答える 1