我一直在尝试在特定位置播放 Soundcloud 中的轨道。 我使用了以下问题中的代码作为引用
Soundcloud API: how to play only a part of a track?
下面是我使用过的代码
function playTrack(id) {
SC.whenStreamingReady(function() {
var sound = SC.stream(id);
sound.setPosition(240000); // position, measured in milliseconds
console.log(sound.position)
sound.play()
});
}
console.log 返回 0,轨道从头开始播放。
我尝试过并具有相同结果的替代代码如下
SC.stream("/tracks/" + id, function(sound){
console.log("playing")
console.log(sound)
sound.setPosition(120000)
console.log(sound.position)
sound.play()
})
最佳答案
由于 soundcloud 不再使用 soundmanager。上述方法将不再有效。
必须做的是使用名为“seek()”的函数而不是“setPosition()”
sound.seek(1500);
这是一个更好的例子:
SC.stream(
"/tracks/[trackID]",
function(sound){
sound.seek(1500)
});
如果您想在回调之外访问搜索函数,我会这样做:
var soundTrack;
SC.stream(
"/tracks/[trackID]",
function(sound){
soundTrack = sound;
});
var buttonClickEvent = function(){
soundTrack.seek(1500);
}
关于Javascript:从 soundcloud api 设置轨道位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18007725/