2012-10-17 3 views
3

내 질문은 여기에서 this과 동일하지만 질문은 해결되지 않았고 PeeHaa에게 개인적으로 내가 묻는 대답을 요청할 수 없습니다. 다시 여기.soundmanoud2와 함께 사용하기 위해 soundcloud api에서 .mp3 url 360 플레이어

성공적으로 사운드 클라우드 API를 쿼리하고 각 트랙에 대해 stream_url을 가져 와서 내 360 플레이어 (demo here)의 모든 hrefs에 추가했습니다. 요소에 대한 내 코드는 다음과 같이 보입니다 : I 데이터 제목 속성을 가진 모든 태그를 발견하고 그들에게 stream_url에 따라 올바른 HREF를 제공하기 위해이 스크립트를

<div class="ui360"> 
<a href="/path/to/an.mp3" data-title="Track title">play "an.mp3"</a> 
</div> 

을,하지만 난을 클릭 할 때 브라우저에서 soundmanager 아이콘을 클릭하고 트랙을 재생하면 .mp3 URL로 리다이렉트됩니다.

SC.initialize({ 
    client_id: 'MY_CLIENT_ID' 
}); 

SC.get('/playlists/2450655', 'allow_redirects=False', function(playlist) { 

    var titles = $('.audio .ui360 a').each(function(index){ 
    this.index = index; 
    }); 

    for (var i = 0; i < playlist.tracks.length; i++) {  
    var id = '?client_id=MY_CLIENT_ID'  
    for (var j = 0; j < titles.length; j++) {  
     if (playlist.tracks[i].title === $(titles[j]).attr('data-title')) { 
     $(titles[j]).attr('href', playlist.tracks[i].stream_url+id) 
     }    
    }  
    } 

}); 

이 방법으로 soundcloud에서 호스팅되는 트랙을 재생하는 올바른 URL을 얻는 방법을 아는 사람이 있습니까?

답변

1

SoundCloud JavaScript SDK를 사용하여 트랙을 스트리밍하지 않는 이유는 무엇입니까? 다음과 같이 입력하십시오 :

SC.get('/playlists/2450655', function(playlist) { 
    $(playlist.tracks).each(function(index, track) { 
    $('a[href="' + track.stream_url + '"]').click(function(e) { 
     e.preventDefault(); 
     SC.stream('/tracks/' + track.id, function(sound) { 
     sound.play(); 
     }); 
    }); 
    }); 
}); 

이 문제가 해결되었거나 URL을 해결해야하는 특별한 이유가 있습니까?

+0

네, 그게 정상적으로 작동합니다. 이런 식으로하고 싶은 이유는 360 플레이어를 사용하는 것입니다. http://www.schillmania.com/projects/soundmanager2/demo/360-player/ – satyrsynth

5

나는이 오래된 질문 알아요,하지만 문제가 벽을 날 운전하고 있었고, 난 마침내 그것을 알아 냈어, 그래서 여기에 다른 사람에 대한 내 대답 :

당신의 MP3의 MIME 유형을 지정하는 경우

)와 SoundManager (사운드가 작동합니다 링크 :

<div class="ui360"> 
    <a type="audio/mp3" href="https://api.soundcloud.com/tracks/49349198/stream?client_id=YOUR_CLIENT_ID" data-title="Track title">play "an.mp3"</a> 
</div> 
관련 문제