如何使用SoundManager2从SoundCloud到流,并进行可视化?(How to use

2019-10-17 12:09发布

SoundManager2得到一个数据的错误,我不能想象什么?

要么

我无法访问的歌,权限被拒绝?

要么

它的工作原理,当我第一次玩,但如果我暂停和重新播放,我得到一个数据错误?

Answer 1:

这最近已定,因为这是部分原因是由于需要的文件在那里的一半。 现在,它是固定的但是,它仍然可能无法正常工作了蝙蝠。

最明显的第一步是使用API来获取轨道stream_url,它看起来像http://api.soundcloud.com/tracks/69322564/stream?client_id=CLIENT_ID

如果您使用本作中的SoundCloud媒体网址,你会发现,你按下播放键,如果你有可视化他们将工作,一切是好的。 但是,如果你现在暂停曲目,并按再次播放,你会得到一个错误的数据,元数据将不再是可访问的,和你的可视化将打破。 这是因为api.soundcloud.com有一个跨域文件,当你访问它,你得到一个3XX重定向到ec-media.soundcloud.com 。 该网站现在也有一个crossdomain.xml文件,但是那个讨厌的3XX重定向废墟这两种权限,所以你打一个错误。

这个问题的答案是你让重定向的飞跃第一,soundmanager2之外,所以不存在重定向,将打破它。 比如在Python:

import urllib2
starturl = 'http://api.soundcloud.com/tracks/69322564/stream?client_id=CLIENT_ID'
res = urllib2.urlopen(starturl)
finalurl = res.geturl()
print finalurl

这可能是更优雅,但它会打印该API重定向到URL。 该网址看起来像http://ec-media.soundcloud.com/2j0lNF81jv9m.128.mp3?LONG_STRING&AWSAccessKeyId=ACCESS_KEY&Expires=1355864871&Signature=SIGNATURE

您正在访问的有crossdomain.xml文件,并且由于没有重定向,事情会顺利运行,数据将被访问的,一切都会好起来。

“我这样做,它的工作,但现在它说,该文件是被禁止的”

现在,我们提请您注意前面的网址,尤其是&Expires=1355864871 。 你会被重定向到该文件不是永久性的,所以你每一次都必须抓住它。 对我来说这是很容易的,我在Django工作,所以我可以在我的观点脚本只需运行上面的蟒蛇。 你必须找到一种方法,在您选择的代码来实现这一点。 (如果在JavaScript工作太)。

毕竟这一点,你应该能够暂停和播放,只要你想尽可能多的和检索的波形数据,该数据EQ,峰值数据。 有了这些东西,一些有趣的事情可以做。 希望这有助于。



文章来源: How to use SoundManager2 to stream from SoundCloud, and make visualizations?