播放,Soundcloud oembed 小部件的暂停事件

onplay, onpause event of a Soundcloud oembed widget

本文关键字:暂停 事件 小部 Soundcloud oembed 播放      更新时间:2023-09-26

我正在尝试使用 souncloud javascript api 来触发嵌入小部件的播放和暂停回调。所以基本上我使用 SC.oembed 在div 中创建/显示小部件,然后我想使用 SC.stream 来控制声音管理器 2 选项,但这似乎是不可能的。

我想做的只是在有人按下小部件上的播放以及有人按下暂停时调用函数。

实现此结果的最佳方法是什么?

更新下面是一个代码片段

        //set up soundcloud gallery
        SC.initialize({
          client_id: 'MY_CLIENT_ID'
        });
        SC.get('/users/MY_USER/tracks', function(tracks) {
            $('#tracks_holder').addClass('scrollY').empty()
            for (var i = 0; i < tracks.length; i++) {
              console.log(tracks[i].title);
              var newTrack = $('<div class="scTrack"></div>')[0];
              SC.oEmbed(tracks[i].permalink_url, {maxheight:"200px"}, newTrack);
            $('#tracks_holder').append(newTrack);
            }
        });

谢谢!

这里有

一个很好的例子。SC 允许您将处理程序附加到许多事件,如文档中所示 这里

  (function(){
    var widgetIframe = document.getElementById('sc-widget'),
        widget       = SC.Widget(widgetIframe);
    widget.bind(SC.Widget.Events.READY, function() {
      widget.bind(SC.Widget.Events.PLAY, function() {
        // get information about currently playing sound
        widget.getCurrentSound(function(currentSound) {
          console.log('sound ' + currentSound.get('') + 'began to play');
        });
      });
      // get current level of volume
      widget.getVolume(function(volume) {
        console.log('current volume value is ' + volume);
      });
      // set new volume level
      widget.setVolume(50);
      // get the value of the current position
    });
  }());

音频相关事件:

  1. 南卡罗来纳州。Widget.Events.LOAD_PROGRESS — 在声音加载时定期触发。
  2. 南卡罗来纳州。Widget.Events.PLAY_PROGRESS — 在播放声音时定期触发。
  3. 南卡罗来纳州。Widget.Events.PLAY — 当声音开始播放时触发。
  4. 南卡罗来纳州。Widget.Events.PAUSE — 当声音暂停时触发。
  5. 南卡罗来纳州。Widget.Events.FINISH — 当声音结束时触发。
  6. 南卡罗来纳州。Widget.Events.SEEK — 当用户查找时触发。