【发布时间】:2015-05-28 05:21:34
【问题描述】:
我正在为应用程序使用 soundcloud API。我的代码做的第一件事就是在 soundcloud 上获取我最喜欢的曲目。每个音轨都使用 Jquery 显示为一个 li 元素。当我单击其中一个列表元素时,soundcloud 会加载关联的轨道并显示其波形。
SC.get(track_url, function(track){
var waveform = new Waveform({
container: document.getElementById("waveform"),
innerColor: "#333"
});
waveform.dataFromSoundCloudTrack(track);
var streamOptions = waveform.optionsForSyncedStream();
SC.stream(track.uri, streamOptions, function(stream){
window.exampleStream = stream;
}); // SC.stream
}); //SC.get()
这里track_url是我点击的轨道的uri (http://api.soundcloud.com/...),#waveform是要显示波形的div。
一切正常。当我点击我最喜欢的曲目之一时,播放器会加载歌曲和波形,但歌曲没有自动播放..
如何将 SoundManager2 autoPlay 参数和 Waveform.js waveform.optionsForSyncedStream(); 组合在一个 SC.stream() 方法中?我认为这是一个语法问题,但我无法解决。
SC.stream(track.uri, {autoplay:true}, streamOptions, function(stream){
window.exampleStream = stream;
}); // SC.stream
使用此代码,歌曲在点击时会自动播放,但同步流不再起作用,因为 SC.stream 的第三个参数应该是函数...(未捕获的 TypeError:对象不是函数)。
请帮忙!! :)
【问题讨论】:
-
我用 souncloud 和waveform.js 创建了一个波形,但它是静态的,在播放声音时没有动画。我遵循了波形.js 文档的每一步,但仍然没有运气。我正在使用 javascript SDK 3.0 版。我认为waveform.js 尚未更新为与此版本3.0 一起使用。任何帮助??
标签: javascript syntax soundcloud waveform