首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SoundCloud + Soundmanager2 + EQData

SoundCloud + Soundmanager2 + EQData
EN

Stack Overflow用户
提问于 2012-07-25 12:07:55
回答 1查看 1.5K关注 0票数 2

这个问题本质上与这个问题相同,但有更多细节:

Soundcloud + SoundManager bug: reading a stream's eqData

所以我有一个使用canvas / svg /的可视化工具,当它从SoundCloud / SoundManager2接收EQData时看起来很棒,但有一些非常奇怪的事件正在发生,导致它不那么酷。

1.)当您使用SMSound.pause()或任何变体(SoundManager.togglePause等),然后恢复所有EQData / WaveformData时,它将停止进入SoundManager2,并将其置零。

2.)如果您停止曲目并重新启动它,则所有EQData / WaveformData都会停止。

3.)偶尔,在没有警告的情况下,EQData / WaveformData会停止进入SM2,可视化工具也会停止,如果我转到下一首曲目,它会重新启动,但对于一首超过30秒的歌曲,它从来没有100%工作过。

我还不能确定这是SoundCloud还是SoundManager2的问题,但似乎其他人也有问题,但到目前为止,我一直找不到任何解决方案。

链接在这里可用:http://nikru.com/viz/。它被剔除出网站,因为它是为客户的未启动的网站,他们还不想让公众看到。:)

任何帮助都是非常感谢的。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-25 14:14:04

好吧。我相信其他人也遇到过这种情况,但没有快速解决。我希望这对其他人有所帮助,因为我已经尝试了一天左右的可能性,并认为我有一个适合每个人的解决方案。

当SoundManager2第一次从http://api.soundcloud.com/tracks/9708215/stream?consumer_key={YOUR KEY}页面请求歌曲时,会发生什么情况。这是伟大的,歌曲可以播放只需查找,因为api.soundcloud.com有一个crossdomain.xml文件。但糟糕的是,下一个请求(暂停/播放或下一首/上一首曲目)的SoundManager2只是返回到它所知道的内容(这是一个301'd的页面,在ec-media.soundcloud.com上,正如我之前提到的,ec-media.soundcloud.com没有crossdomain.xml文件)这不是很好。我的修复方法是,每次我重新开始一首歌时,我会修改声音的URL,使其包含一个新的ts={ts=}参数,然后在SMSound上运行.load(),这会导致重新加载并修复问题。

代码语言:javascript
复制
var $track = $(this),
    data = $track.data('track'),
    playing = $track.is('.active');
newURL  = soundManager.sounds["track_" + data.id].url.split("&ts=")[0];
newURL += "&ts=" + Math.round((new Date()).getTime() / 1000);
soundManager.sounds["track_" + data.id].url = newURL;
soundManager.sounds["track_" + data.id].load();
soundManager.sounds["track_" + data.id].url = newURL;

然后,为了节省带宽,当歌曲暂停时,我实际上只是将其静音,并保存歌曲暂停的位置。当他们取消暂停时,我会在他们停止和取消静音的位置播放该曲目。这不是很好,但这是我们所能做的最好的(我认为)。

希望这对某些人有帮助。:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11642556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档