2012-04-23 2 views
1

SoundCloud HTML5 플레이어 위젯에 autoplay 옵션이로드되면 트랙 시작시 이벤트가 실행되지 않습니다. 그러나 위젯을로드하는 사이 (또는 다른 URL을 위젯에로드하는 것)와 트랙이 시작될 때 사이에 시간 초과가 있으므로 이벤트를 호출하는 멋진 위젯입니다.HTML5 위젯 시작시 재생 이벤트가 실행되지 않습니다.

이것은 의도적으로 설계 되었습니까? 아니면 해결해야 할 문제입니까?

+0

귀하의 질문은 확실합니다. 어떤 위젯에 대해 이야기하고 있습니까? 문제를 이해하는 데 도움이되는 코드 샘플을 제공해 주시겠습니까? –

+0

거기. 죄송합니다. 태그가 분명합니다. – cucko

답변

2

HTML5 플레이어 위젯은 auto_play 옵션을 사용할 때 SC.Widget.Events.PLAY 이벤트를 발생시켜야합니다. 여기에 내가 확인하는 데 사용되는 코드는 다음과 같습니다

HTML :

<!doctype html> 
<html> 
    <head> 
    <title>Widget Demo</title> 
    <style type="text/css"> 
    iframe { 
     display:block; 
     border:0; 
     margin-bottom: 20px; 
     height: 365px; 
    } 
    </style> 
    </head> 
    <body> 
    <iframe id="widget" width="100%"></iframe> 
    </body> 
    <script src="http://w.soundcloud.com/player/api.js"></script> 
    <script src="script.js"></script> 
</html> 

자바 스크립트 (script.js의 내용) :

(function() { 
    var iframe = document.querySelector('#widget'); 
    iframe.src = 'http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/43315398&auto_play=true'; 

    var widget = SC.Widget(iframe); 

    widget.bind(SC.Widget.Events.PLAY, function(eventData) { 
     alert('Playing...'); 
    }); 
}()); 

당신은 작업 예제 here on jsfiddle을 확인할 수 있습니다.

+0

문제를 발견했습니다. soundcloud 위젯 놀이터에서 모든 이벤트는'iframe.onload'에 바인드됩니다. 위젯은'widget.ready' 이벤트에서도 바인드됩니다. 덕분에 . – cucko

관련 문제