2013-06-19 2 views
1

비디오가있는 페이지를 만들고 설정하여 페이지에서 다른 페이지를 클릭하면 비디오가 일시 중지됩니다. 이 기능은 내 데스크톱에서 훌륭하게 작동하지만 iPad 또는 Android 휴대 전화와 같은 휴대 기기에서는 작동하지 않습니다.모바일 장치에서 Brightcove pause()가 작동하지 않습니다.

여기 내 코드입니다 :

내가 페이지로의 버튼을 던져하고는 "togglePause"함수를 호출 온 클릭 한 테스트를 위해
<script language="javascript" type="text/javascript"> 
    var player; 
    var videoPlayer; 

    function onTemplateLoaded(experienceId) { 
    player = brightcove.getExperience(experienceId); 
    videoPlayer = player.getModule(APIModules.VIDEO_PLAYER);  
    } 
function togglePause() {  
    videoPlayer.pause();  
} 
</script> 

.

<button onclick="togglePause()">PLAY</button> 

이 모바일 장치에서 작동하지 않는 이유는 어떤 생각?

답변

0

templateReady 핸들러를 지정하고 APIModules.VIDEO_PLAYER 모듈의 초기화를 이동해야한다고 생각합니다. 이것은 정말 흔한 실수이며 templateLoadHandler를 사용하면 대부분의 시간이 데스크톱에서 특히 잘 작동하므로 많은 사람들이 모바일에 노출됩니다.

http://support.brightcove.com/en/video-cloud/docs/getting-started-smart-player-api

에서 중요 다음과 같은주의 사항을 참조하십시오

  • 는 templateLoad : 플레이어와 API에 대한 모든 데이터가 수신 된 템플릿로드 템플릿 준비 이벤트 사이의 차이를 이해 브라우저를 사용하면 이제 전체 플레이어 ( BrightcoveExperience)에 대한 참조를 얻을 수 있습니다. 플레이어는 완전히 설정되지 않았지만 당신이이 시점에서의 모든 메소드를 호출하려고하면, 당신은 이 경주 조건

  • templateReady 설정은 다음과 같습니다 플레이어가 이제 완전히 인스턴스화 되어 및 API를 통해 상호 작용 할 준비가되어있다 - 당신에게 을 템플릿 만 준비 이벤트 이후의 API 모듈의 메서드를 호출해야합니다 너무 일찍 메소드를 호출 방지하기 위해

을 발사했다, 당신은 templateLoad 이벤트를 건너 뛰고 바로 templateReady 이벤트를 처리 할 수 ​​있습니다. 단점은 플레이어 ID가 templateReady 처리기로 전달되지 않으므로 플레이어에 대한 참조를 얻으려면 게시 코드에서 가져와야합니다.

관련 문제