任何人都知道是否有办法为SoundCloud轨道生成指定歌曲开始时间的URL?我正在寻找一种方法来强制在流中的某个时间播放流,而无需通过API对我进行任何处理.
我只是熟悉Soundcloud的API,我遇到了一些麻烦.据我所知,我需要的SC.initialize只是一个client_id.我已经使用Code Academy的教程开始了,这很棒.现在我正在尝试实现一些我遇到麻烦的事情.
当我在Code Academy中运行我的代码时,它完全符合我的要求.现在我正在尝试在浏览器中运行它,我得到一个空白屏幕,并出现此错误:
NS_ERROR_DOM_BAD_URI:访问受限制的URI被拒绝@
http://connect.soundcloud.com/sdk
经过一番研究后,我发现这些错误与域名前缀有关.所以我尝试将其更改为http:// www.connect.soundcloud.com/sdk.但是当我这样做时,我得到一个不同的错误:
SC没有定义
AHHHH我做错了什么?!
我是使用API的新手,任何帮助都会非常感激.
这是我在做什么:
(JavaScript)
SC.initialize({
client_id: 'hidden for privacy',
});
$(document).ready(function() {
SC.get('/users/5577686/tracks', {limit:7}, function(tracks) {
$(tracks).each(function(index, track) {
$('#tracktitle').append($('<li></li>').html(track.title));
$('#trackimage').append("<img src='" + track.artwork_url + "' />");
$('#play').append("<a href='" + track.permalink_url + "' >" + "Play" + "</a>");
});
});
});
Run Code Online (Sandbox Code Playgroud)
(HTML)
<!DOCTYPE HTML>
<html>
<head>
<script src="http://connect.soundcloud.com/sdk.js"></script>
<script src="soundcloud.js"></script>
</head>
<body>
<div id="tracktitle"></div>
<div id="trackimage"></div>
<div id="play"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我并不认为代码有任何问题,因为Code Academy中的一切似乎都运行良好.我认为熟悉API更是一个问题.我是否需要进行进一步的身份验证?我需要的不仅仅是客户ID吗?我再次陷入困境,并希望得到任何帮助.谢谢阅读.
(我还跟着编码GOOD的Soundcloud API集成教程一步一步地得到了相同的错误,所以这进一步证实了代码可能不是问题,但可能是连接到API)
这是我看到的情景 -
SoundCloud如何做,似乎是某种重定向技巧,让"og:video"SWF变成JS/HTML5播放器?
我注意到有一个"og:type"的"soundcloud:sound",所以它是某种白名单/ Facebook应用场景吗?
自己尝试一下:
我确实从SoundCloud网站上找到了关于他们如何切换到JS播放器的信息(在旧浏览器上可以追溯到Flash):http://help.soundcloud.com/customer/portal/articles/1219149-where都具有一个最闪光的小部件,gone-
是否可以通过soundcloud API从特定用户获取曲目列表而无需特定用户进行身份验证?
我正在寻找类似YouTube Feed的内容:https://gdata.youtube.com/feeds/api/users/mrromandiaz/uploads?max-results = 10(我在我的帐户中指出了这一点,但用户名"mrromandiaz"可以替换为任何用户名来检索该用户的视频......
问题是,Soundcloud提供类似的东西吗?我不需要进行身份验证,发布,上传或控制任何内容......只需将用户的曲目列表显示在其个人资料中,而无需使用默认播放器.
UPDATE
请参阅此处的工作示例:Favesound-Redux
教程:http://www.robinwieruch.de/the-soundcloud-client-in-react-redux
题
最近我发现并受到Sound Redux的启发,它展示了如何在React + Redux应用程序中使用Soundcloud API.Soundcloud API要求您设置callback.html页面.Sound Redux应用程序通过从Go Lang服务器提供callback.html来解决这个问题.我不想为此使用任何服务器端技术.这就是为什么我想知道是否有可能将callback.html作为反应组件提供服务.我的设置已经弹出了Soundcloud的身份验证模式,但在输入我的凭据后没有任何反应,模态变为空白.
在我的根组件中,我为Callback组件和我的app组件设置了路由.
const routes = <Route component={App}>
<Route path="/callback" component={Callback} />
<Route path="/app" component={SoundContainer} />
</Route>;
ReactDOM.render(
<Provider store={store}>
<Router>{routes}</Router>
</Provider>,
document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)
当我从SoundContainer中触发身份验证请求操作时,操作创建器如下所示:
export function auth() {
return dispatch => {
SC.initialize({
client_id: MY_CLIENT_ID,
redirect_uri:`${window.location.protocol}//${window.location.host}/#/callback`
});
SC.connect(function (response) {
console.log('connect'); // This does not appear in the console
SC.get('/me', function(data) {
console.log(data);
dispatch(doAuth(data));
})
});
} …Run Code Online (Sandbox Code Playgroud) 我试图隐藏我的HTML5播放器的音频流的URL,并且真的很难想到这样做的方法然后我意识到,soundcloud必须隐藏其流的URL.所以我进入了soundcloud,打开了控制台并播放了一首曲目,但是我看不到隐藏URL的任何明显方式.在此之后,我看了一下DOM树,看看那里是否有任何类型的音频信息,但我一无所获!甚至没有播放器/音频的ID,所以我对soundcloud如何做到这一点非常困惑.
现在我已经尽可能地隐藏了音频URL.我在轨道的DOM中放置了一个ID,在单击播放按钮时获取了该ID,并从数据库中检索了该ID的URL.显而易见的问题是,任何有意愿的人都可以直接进入控制台并从网络事件中获取URL.
我不是试图突破soundcloud的安全性来下载我不应该的曲目.我只是好奇他们是如何隐藏URL的.现在我也很好奇每个轨道是如何区分的,因为DOM中没有任何东西可以区分它们(不是我在简短的表面上找到的).
那么,简而言之,有没有人对soundcloud如何实现这一目标或如何实现这一点有任何想法?
我一直在研究几个小时没有运气才能让它奏效.基本上我有一个cms,用户可以在其中放置soundcloud url,如" https://soundcloud.com/cade-turner/cade-turner-symphony-of-light ",然后该页面可以显示嵌入式iframe.我已经将api文档发送了一段时间,但找不到任何相关内容.这篇文章在这里谈过,但我只是不明白的答案,我查透过oEmbed和透过oEmbed参考,但找不到合适的例子.还有人提示吗?
编辑:感谢Jacob的回答,我终于设法通过使用ajax来实现.
var trackUrl = 'THE_URL';
var Client_ID = 'CLIENT_ID';//you have to register in soundcound developer first in order to get this id
$.get(//make an ajax request
'http://api.soundcloud.com/resolve.json?url=' + trackUrl + '&client_id=' + Client_ID,
function (result) {//returns json, we only need id in this case
$(".videowrapper, .exhibitions-image, iframe").replaceWith('<iframe width="100%" height="100%" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/' + result.id +'&color=ff6600&auto_play=false&show_artwork=true"></iframe>');//the iframe is copied from soundcloud embed codes
}
);
Run Code Online (Sandbox Code Playgroud) 我正在研究一个项目,并想知道我是否可以使用SoundCloud API制作和使用SoundCloud流式传输音乐的应用程序.我找不到SoundCloud的任何官方来源来提供Java解决方案.
任何的想法?
我想知道当在页面之间导航时,soundcloud如何能够无缝地播放音乐.他们可能使用Ajax cuz顶部栏似乎在导航时不会重新加载,但我看到URL更改.有没有办法使用Ajax加载内容并将URL设置为另一个?
如何使用SoundCloud API从曲目URL获取曲目ID?