2013-03-04 69 views
5

Sadece javascript'i öğrenmeye başladım ve ilk denemem olarak, müzik kaynağı olarak soundcloud'un api'sini kullanan özel bir ses çalar oluşturmak istiyorum.html5 ses oynatıcısına akış almak için Soundcloud API nasıl kullanılır?

Şimdiye kadar bu kurduğum var şudur:

üstünkörü bakışta
<!DOCTYPE html> 
<html> 
<head> 



<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script src="http://connect.soundcloud.com/sdk.js"></script> 

<script> 
window.onload = function() { 
SC.initialize({ 
    client_id: '10e27db0dacd00954d7160b4c092a6e2' //Demo ID 
}); 

SC.stream("/tracks/75868018", function(sound){ 
    $("audio-test").attr("src", sound.uri); 
}); 
}; 
</script> 



</head> 
<body> 

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

</body> 
</html> 
+0

Bundan daha fazlası var - javascript kontrol kodunu bir macunta koyabilir misiniz? – CodeMoose

+0

@CodeMoose, bu html5 player için kullandığım blog gönderisine bağlantı ekledi. – Ilja

+0

Mükemmel, teşekkürler! – CodeMoose

cevap

7

Tamam, anladım. Sorun .stream() idi. Bu, .play() işlevi tarafından konuşlandırılan hazır ambalajlı bir oyuncu sunmak anlamına geliyordu.

Bunun yerine SC.get() kullanırsanız, aslında parçanın özelliklerine erişirsiniz ve bir ses etiketine gömebilirsiniz. Koduma bakın: http://jsfiddle.net/LpzpK/6/

Hala bir sorun var - izler 401 olarak işaretlendi, bu nedenle oynatıcı sadece "Yükleniyor". Halka oynamak istediğiniz parçaları yapmak için bir yol bulmak zorundasınız.

+0

Çok yardımcı olduğunuz için teşekkür ederim. belgelerindeki bir yerde 401 ile nasıl başa çıkılacağına dair bir bakış, bunu anlamaya çalışacağım;) – Ilja

+4

işe yaradı! Sadece eklemek için/stream gerekir? client_id = YOUR_ID to sound.uri;)) tekrar yardım için thnx! – Ilja

+0

Sorun değil - tadını çıkarın! – CodeMoose

2

tüm soundcloud API nesneleri kaynak doğrudan bağlanan bir URI özelliği ile gelen gibi görünüyor. Durumunuzda, sound.uri olacaktır.

Oynatıcı kodunuzun üstünde, bir <audio> etiketiniz var - benim tahminim, çalmakta olduğunuz parça için URI değerine src değerini ayarlamak isteyeceksiniz. Buna bir kimliği takılarak ve etiketi için seçtiğiniz herhangi kimliği ile [audio_id] yerine

SC.stream("/tracks/293", function(sound){ 
    $("[audio_id]").attr("src", sound.uri); 
}); 

arayarak yapabilirsiniz. Her değiştiğinde oyuncuyu yeniden başlatmak/yeniden başlatmak için muhtemelen bir şeyler yapmak zorunda kalacaksınız, ancak bu sizin de başlayacağınızı umarız. Nasıl çalıştığını bana bildirin!

+0

Çalışmıyor gibi görünüyor. Her şeyi daha iyi anlamak için oyuncuğumu önemli ölçüde basitleştirdim, ancak hala işe yaramayabilirim, işte benim yeni kodum http://pastebin.com/A76pgjMf – Ilja

+0

Bunu bir kemanın içine bırakıp onunla oyuncaklaşacağım - biraz geri dön – CodeMoose

+0

Çalıştırmak için geri arama işlevini alamıyorum. Nesneyi başlatmak için herhangi bir şey yapmanız gerekiyor mu (var SC = yeni soundcloud();) veya bir şey mi? – CodeMoose

İlgili konular