ExternalInterface를 사용하여 페이지에서 특정 항목을 클릭 할 때마다 mp3 플레이어에서 사운드를 일시 중지하는 기능을 설정했지만 IE에서는 문제가 있습니다.동영상을 클릭 할 때 jQuery 기능 시작하기
설정은 다음과 같습니다. RSS를 사용하여 YouTube 동영상 목록을 불러오는 비디오 페이지가 있습니다. 가장 최근의 비디오는 "디스플레이"라는 div의 페이지에 표시됩니다. 그런 다음 피드의 나머지 모든 동영상이 미리보기 이미지 및 링크로 표시됩니다. 하나를 클릭하면 기본 '디스플레이'동영상이 대체되고 재생이 시작됩니다. 모두 잘 작동합니다.
내가 원하는 것은 비디오가 시작될 때마다 페이지의 MP3 플레이어가 음악을 일시 중지하는 것입니다.
ExternalInterface 기능이 제대로 작동합니다. 링크 중 하나를 클릭 할 때마다 mp3 플레이어가 멈추고 비디오가 시작됩니다.
문제는 MAIN 비디오를 클릭했을 때 멈추고 싶다는 것입니다. 분명히 YouTube에서로드 된 외부 비디오이기 때문에 FLA에 액세스하여 자체 ExternalAccess 코드를 추가 할 수 없습니다.
비디오 객체에 ID를 추가 한 다음 jQuery의 선택기로 사용하여 stopMovie 함수를 호출하려고했습니다 ... 아니요. 클래스를 추가 할 때 클래스를 클릭 할 때 stopMovie 함수를 호출하려고했습니다. div에 클릭 기능을 넣으려고 시도했지만 동영상이로드되지 않습니다. 아무 것도 작동하지 않습니다. 기본 비디오를 제거하고 빈 div가 있으면 div를 클릭하면 mp3 플레이어가 멈 춥니 다. 그러나 div에 비디오를로드하고 클릭하면 아무 일도 일어나지 않습니다 (IE에서는 ...) FF).
분명히 jQuery는 비디오가 클릭되었다는 메시지를받지 못합니다. 어떤 제안이나 문제 해결 방법?
액션 스크립트 :
import flash.external.ExternalInterface;
ExternalInterface.addCallback("stopMovie", pauseSound);
function pauseSound(str:String):void {
if (str == "stop") {
if (my_channel) {
song_position = my_channel.position;
my_channel.stop();
song_paused=true;
}
}
}
JQuery와 코드 :
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function stopMovie() {
getFlashMovie('audio').stopMovie("stop");
}
// 내가 //
$('#video_player').live("click", function(){
stopMovie();
});
$('.stopper').live("click", function(){
stopMovie();
});
$('#curVideo').live("click", function(){
stopMovie();
});
$('#display object').live("click", function(){
stopMovie();
});
html로 시도 모든 방법을 보여주는 :
<div id="video_player">
<div id="display">
(some PHP code here to call the feed)
<object id="curVideo" class="stopper" width="410" height="332"><param name="movie" value="<?php echo $videolink; ?>"></param><param name="allowFullScreen" value="true"></param><param name="wmode" value="transparent"></param><param name="allowscriptaccess" value="always"></param><embed src="<?php echo $videolink; ?>" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="410" height="332"></embed></object>
</div>
</div>
을
지금은 해결 방법을 제시했지만, 이상적인 것은 아니지만, 장시간에 걸쳐 해결할 수 있습니다. 누군가가 여전히이 솔루션에 대한 실제 솔루션을 제안 할 수 있기를 바랍니다. 그냥 작동 시키려면 비디오 div (불투명도는 .01로 설정 ... 투명하게 div는 IE에서 클릭 할 수 없음)로 설정하고 클릭 할 수있게 만들어야합니다. 클릭하면 음악을 종료하는 기능이 실행 된 다음 자동 시작으로 설정된 동일한 비디오 클립으로 비디오 div가 다시로드되므로 재생이 시작됩니다.이것은 실제로 비디오를 다시로드하는 것을 의미하므로 다시 깜박입니다. – Nay