Youtube AS3 API를 기반으로 웹 앱을 만들고 있습니다. 모든 것이 잘되고 있었고 갑자기 모든 플레이어 기능이 작동하지 않게되었습니다. 'onYouTubePlayerAPIReady'가 아닌 다른 이벤트는 호출되지 않습니다. 비디오 볼륨을 제어하는 버튼이 있습니다. 이제 "player.getVolume()은 함수가 아닙니다."라는 오류 메시지가 나타납니다. 나는 비디오를 성공적으로로드하고 재생할 수 있지만 그 이상은 할 수 없다.youtube API 함수가 작동을 멈췄습니다.
var h = ($("#ytplayer").width()*(9/16));
player = new YT.Player('ytplayer', {
height: h,
videoId: currentlyPlaying,
playerVars: {
wmode: 'opaque',
autoplay: '1',
vq: 'small',
controls: '0',
iv_load_policy: '3',
rel: '0'
},
events: {
'onStateChange': onPlayerStateChange
}
});
makeControlsLive();
function makeControlsLive(){
/*Make controls live*/
logThis("Making ocntrols live now...");
$("#vol_up").click(function(){
if(player){
var currentVol = player.getVolume();
if((currentVol+10) <= 100){
player.setVolume(currentVol+10);
$("#vol_value").text((currentVol+10)+"%");
$("#vol_mute").text(" mute ");
}
}
});
$("#vol_down").click(function(){
if(player){
var currentVol = player.getVolume();
if((currentVol-10) >= 0){
player.setVolume(currentVol-10);
$("#vol_value").text((currentVol-10)+"%");
}
}
});
$("#vol_mute").click(function(){
if(player){
if(player.isMuted()){
$("#vol_mute").text(" mute ");
player.unMute();
}
else{
$("#vol_mute").text(" unmute ");
player.mute();
}
}
});
}
function onPlayerStateChange(newState) {
alert(player.getPlayerState());
}
누군가가 시련을 겪었습니까? YouTube 서버에 버그가있을 가능성이 있습니까?
은 전역 변수입니까? 함수에서 전체 YouTube 코드를 래핑하려고했을 때 비슷한 "아무 일도 일어나지 않습니다"라는 문제가있었습니다. 그럼 내가 어딘가에있는 모든 유튜브 기능과 플레이어 개체 자체가 글로벌 범위에서 예상되는 것으로 나타났습니다. – andrean
예 player는 전역 변수입니다. 나는 그것을 var player로 정의한다. 이 js 스크립트 맨 위에. 문제는 플레이어가 액세스 가능하다는 것입니다. 로그인하고 null이 아닌지 확인했습니다. 내 API 호출이 실패하고 문제없이 작동하는 데 갑자기 실패하기 시작했습니다. – user434885