2016-04-06 7 views
0

Ich möchte einen Podcast mithilfe von SoundCloud freigeben und habe einige Links erstellt, die den Hörern dabei helfen, das Audio zu scrubben. Beispiel:Soundcloud Widget API - seekTo funktioniert nicht mit pausiertem Audio

<a href="#" onclick="SC.Widget('player').seekTo(10000);">GO TO 10s</a> - 
<a href="#" onclick="SC.Widget('player').seekTo(30000);">GO TO 30s</a> 

Also, wenn der Benutzer auf "TO 10s GO" klickt, muss das Audio auf 10 Sekunden gehen. Es funktioniert jedoch nur, nachdem der Benutzer die Wiedergabetaste gedrückt hat.
Gibt es eine Möglichkeit, das Audio zu starten UND das Audio zum richtigen Zeitpunkt zu verschieben, wenn der Benutzer auf den Link "Gehe zu" klickt?

Danke!

Antwort

0

ich etwas ähnlich der Benutzer auf einer Wellenform zu lassen ...

_getScWidget() ist eine Funktion, die die Soundcloud-Widget

Code-Schnipsel gibt

this.getWaveformClick = function() { 
    try { 

     ... 
     // target is calculated position in ms based on where on the waveform the user clicks 
     this._getScWidget().isPaused(function isPaused(p) { 
     if (p == true) { 
      // if paused play then seek 
      self._getScWidget().play(); 
      self._getScWidget().seekTo(target); 
     } else { 
      // if not paused, just seek 
      self._getScWidget().seekTo(target); 
     } 
     }); 
    } catch (e) { 
     // error handler 
    } 
    } 
+0

Danke, @SteveE! :) Ich habe mein Problem gelöst. – leguimas

0

ich meine gerade fixiert Frage inspiriert von @SteveE Antwort. Hier ist der Code:

var player = SC.Widget('player'); 
var miliseconds = -1; 

player.bind(SC.Widget.Events.PLAY, function() { 
    if (miliseconds >= 0) { 
     player.seekTo(miliseconds); 
    } 
}); 

seekTo = function(minutes, seconds) { 
    miliseconds = ((minutes * 60) + seconds) * 1000; 

    player.isPaused(function isPaused(p) { 
     if (p == true) { 
      player.play(); 
     } else { 
      player.seekTo(miliseconds); 
     } 
    }); 
}