声音管理器2播放事件配置不起作用
SoundManager2 onplay event configuration does not work
我使用 SoundManager2 在我的网站上播放声音。
现在,我想在每次用户播放声音时发送一个Google Analytics事件。
SoundManager2的文档说,您可以通过设置属性来捕获"播放中"事件,但是当使用360-ui播放器时,这不起作用。
我像这样初始化SoundManager2:
<link rel="stylesheet" type="text/css" href="/app/sm/360/360player.css" />
<link rel="stylesheet" type="text/css" href="/app/sm/flashblock.css" />
<script src="/app/sm/360/berniecode-animator.js" type="text/javascript"></script>
<script src="/app/sm/soundmanager2-nodebug-jsmin.js" type="text/javascript"></script>
<script src="/app/sm/360/360player.js" type="text/javascript"></script>
<script type="text/javascript">
soundManager.url = '/app/sm/swf/';
threeSixtyPlayer.config = {
playNext: false,
autoPlay: false,
allowMultiple: false,
loadRingColor: '#ccc',
playRingColor: '#AB3C2E',
backgroundRingColor: '#eee',
animDuration: 500,
onplay: function() {
alert('Playing!'); // DOES NOT WORK!
},
animTransition: Animator.tx.veryBouncy
}
</script>
有没有人对此有可行的解决方案?
我读过一些解决方案,人们在 SoundManager 源代码中更改了 createSound() 函数,但我希望看到一个不改变库的解决方案。
今天我在 soundmanager2 的默认选项中设置的"onplay"回调遇到了类似的问题,当 360player 播放歌曲时,soundmanager2 没有调用它。
我发现 360player.js 调用soundManager.createSound()
指定自己的"onplay"回调(threeSixtyPlayer.events.play()
函数),从而覆盖了我的默认回调。
另外,请注意:没有要为我所看到的设置threeSixtyPlayer.config.onplay
属性。
非侵入性解决方案应该是封装回调,如下所示:
var onplay360 = threeSixtyPlayer.events.play;
var myOnplay = function(){
... your stuff... ;
onplay360.apply(this); // forces the scope to 'this' = the sound object
};
threeSixtyPlayer.events.play = myOnplay;
希望这有帮助。
干杯 马可
我遇到了同样的问题。 我搜索了答案,但似乎没有太多关于 360player.js 的文档。 我想你只需要研究代码。 我尝试了马可的方法,但这对我不起作用。 真正对我有用的东西要简单得多。
threeSixtyPlayer.events.play = function(){
//Do Something here like...
alert('Are you serious?');
}
这应该会给你一个良好的开端。 我相信其他事件也可以通过这种方式挂钩。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 系统配置默认扩展对 Django 不起作用
- 链接配置文件插件不起作用
- 输入(复选框)在 IE8 中配置时不起作用:选中
- 声音管理器2播放事件配置不起作用
- ExtJs 6.0.0.640-Ext.view.view-multiSelect配置不起作用
- 编辑配置文件更新功能不起作用
- ckeditor配置.protectedSource对editor. inserthhtml中的html元素属性不起作用
- 为什么我的Webpack Sass配置不起作用?
- CORS配置不起作用
- Webpack配置对我的SCSS文件不起作用:(