0

特定の位置で Soundcloud からトラックを再生しようとしています。次の質問のコードを参照として使用しました

Soundcloud API: トラックの一部だけを再生するには?

以下は私が使用したコードです

function playTrack(id) {
  SC.whenStreamingReady(function() {
    var sound = SC.stream(id);
    sound.setPosition(240000); // position, measured in milliseconds
    console.log(sound.position)
    sound.play()
  });
}

console.log は 0 を返し、トラックは最初から再生されます。

私が試した代替コードは以下と同じ結果になりました

SC.stream("/tracks/" + id, function(sound){
  console.log("playing")
  console.log(sound)
  sound.setPosition(120000)
  console.log(sound.position)
  sound.play()
})
4

3 に答える 3

1

サウンドクラウドはサウンドマネージャーを使用しなくなったため。上記の方法は機能しなくなります。

「setPosition()」の代わりに「seek()」という関数を使用する必要があります。

sound.seek(1500);

より良い例を次に示します。

  SC.stream(
    "/tracks/[trackID]",
    function(sound){
      sound.seek(1500)
  });

そして、コールバックの外部でシーク関数にアクセスしたい場合は、次のようにします。

  var soundTrack;
  SC.stream(
    "/tracks/[trackID]",
    function(sound){
      soundTrack = sound;
  });

  var buttonClickEvent = function(){
    soundTrack.seek(1500);
  }
于 2015-09-18T16:47:33.267 に答える
0

これはうまくいくはずです-

var play_sound = function(id) {

    SC.whenStreamingReady(function() {
        var sound = SC.stream("/tracks/"+id,{autoPlay: false}, function(sound) {
            sound.play({
                whileplaying: function() {
                    console.log( this.position );
                }
            });
        });
    });

}
于 2013-09-02T13:24:53.627 に答える