gpt4 book ai didi

javascript - Soundcloud SC.stream() : waveforms and autoplay

转载 作者:行者123 更新时间:2023-11-28 07:29:50 24 4
gpt4 key购买 nike

我正在为应用程序使用 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。

一切正常。当我点击我最喜欢的轨道之一时,播放器会加载歌曲和波形,但歌曲不会自动播放..

如何在单个 SC.stream() 方法中组合 SoundManager2 autoPlay 参数和 Waveform.js waveform.optionsForSyncedStream(); ?我认为这是一个语法问题,但我无法解决。

SC.stream(track.uri, {autoplay:true}, streamOptions, function(stream){
window.exampleStream = stream;
}); // SC.stream

使用此代码,单击时歌曲会自动播放,但同步流不再工作,因为 SC.stream 的第三个参数应该是一个函数...(未捕获的类型错误:对象不是一个函数)。

请帮忙!! :)

最佳答案

好的,我刚刚发现在您的网站上安装 SoundManager2 可以让您更好地控制声音。为了解决我的问题,我只需将 Soundmanager 的默认 autoPlay 选项设置为 true

将 Soundmanager SDK 添加到我的 html header 中。创建了一个新脚本。

soundManager.setup({
onready: function() {
soundManager.defaultOptions = {
autoPlay: true
}
}
});

然后我就去了

SC.stream(track.uri, streamOptions, function(stream){
window.exampleStream = stream;
}); // SC.stream

关于javascript - Soundcloud SC.stream() : waveforms and autoplay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com