Javascript HTML5自定义播放器不使用Soundcloud api uri

Javascript HTML5自定义播放器不使用Soundcloud api uri,javascript,jquery,html,audio,soundcloud,Javascript,Jquery,Html,Audio,Soundcloud,我正在使用一个jQuery插件,它变得简单 它详细解释了这个插件 无论如何,由于某种原因,当我通过Soundcloud api为播放器生成src=”“时,它不起作用。基本上,我从Soundcloud获取歌曲url,然后将其作为src添加到音频标签中 问题在于,页面一旦加载,就会显示src=“unknown”(或者类似的内容) 下面是HTML标记,它演示了SoundCloudAPI和自定义播放器插件的使用 <!DOCTYPE html> <html> <head>

我正在使用一个jQuery插件,它变得简单

它详细解释了这个插件

无论如何,由于某种原因,当我通过Soundcloud api为播放器生成
src=”“
时,它不起作用。基本上,我从Soundcloud获取歌曲url,然后将其作为src添加到音频标签中

问题在于,页面一旦加载,就会显示
src=“unknown”
(或者类似的内容)

下面是HTML标记,它演示了SoundCloudAPI和自定义播放器插件的使用

<!DOCTYPE html>
<html>
<head>


<link rel="stylesheet" href="/reset.css">
<link rel="stylesheet" href="/player.css">

</head>
<body>

<audio id="audio-test" controls></audio>

<!-- Javascript/jQuery -->

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//connect.soundcloud.com/sdk.js"></script>
<script src="/player.js"></script> <!-- /js/player.js -->

<script>
// Soundcloud
SC.initialize({
    client_id: '7a17129ba9cd5fff34f847e3539829b7'
});

SC.get("/tracks/81815566", {}, function(sound){
    $("#audio-test").attr("src", sound.uri + "/stream?client_id=7a17129ba9cd5fff34f847e3539829b7");
});

//Custom Player
$( function() { $( 'audio' ).audioPlayer(); } );
</script>

<!-- END Javascript/jQuery -->

</body>
</html>


reset.css
player.js(插件)


或者从这里下载整个项目:

问题似乎在于
/stream?客户端id=…
。我去掉了整个字符串,并将
sound.uri
更改为
sound.stream\u url
,现在它正在进行流式处理(至少在Safari/FF OSX中是这样)

看。如果这对你不起作用,告诉我,我们会解决的

编辑:我刚刚再试了一次,现在不起作用。给我一分钟来弄清楚


EDIT II:保留客户端id,但将
sound.uri
更改为
sound.stream\u url
似乎已将其修复。似乎sound.uri链接会提示音频播放器无法遵循的301重定向,但sound.stream\u url会直接链接到媒体。请参阅更新的fiddle链接。

带有/strem?客户id的东西。。。在我把它添加到url之前,我在歌曲上遇到了一个401禁止的错误,所以他们不会播放,我唯一能解决这个问题的方法就是把这个部分添加到url。我认为JSFIDLE不起作用,因为没有包括SoundCloudSDK。此外,它本身(在默认播放器中)是有效的,但一旦我将jQuery自定义播放器插件应用到音频元素,它就会说src是未定义/未知的。eah很快就明白了这一点。我不知道没有它我是如何让它工作的——但是我在fiddle中得到的代码现在应该可以为你工作了。fiddle中提供的代码在默认浏览器播放器中工作得很好,但是一旦我将插件应用到它,仍然不能工作,并且说它“未定义”,你有dropbox帐户吗?我可以把你添加到我的项目文件夹中,那是我现在托管播放器的地方。我假设,该插件在src=”“实际应用于播放器之前被调用,所以这就是为什么它认为它是未定义的,有没有办法先将src=“”添加到音频标签中,然后才调用player.js插件?对不起,我没能找到它,今天的工作已经很忙了。答案是什么?