URL-запрос не работает должным образом - видео не останавливается как 3

Я создал информационный киоск на флэш-памяти, но у меня возникла проблема, которая действительно раздражает при внешней загрузке моего содержимого. Я экспортировал все свои SWF-файлы и создал уникальный SWF-файл для загрузки всего на нем с главным меню в верхней части. Основная проблема - потоковое видео с YouTube. Он отлично загружается, но когда я перехожу на другую страницу, страница меняется, но видео не останавливается, если оно было воспроизведено один раз (звук продолжает воспроизводиться). Вот мой код:

loader1.fla:

// Container
var pageLoader:Loader = new Loader();

// Url Requests
var loadRequest1:URLRequest = new URLRequest("basics1.swf");
var loadRequest2:URLRequest = new URLRequest("climatechange.swf");  

// Initial Page Loaded
pageLoader.load(loadRequest1)
addChild(pageLoader)

// Button Functions
function goHome (e:MouseEvent):void{
pageLoader.load(loadRequest1)
addChild(pageLoader)
}
hpage.addEventListener(MouseEvent.CLICK, goHome);

//go to climate change page
function climatePage (e:MouseEvent):void{
pageLoader.load(loadRequest2);
addChild(pageLoader);
}
climatep.addEventListener(MouseEvent.CLICK, climatePage);

climatechange.fla:

Security.allowDomain("http://www.youtube.com")

// load video
var pageLoader:Loader = new Loader();

// Url Requests
var loadRequest1:URLRequest = new URLRequest("overviewvideo.swf");

// Intial Page Loaded
pageLoader.load(loadRequest1)
addChild(pageLoader)

overviewvideo.fla:

/*youtube video*/

var player:Object;

var loader:Loader = new Loader();

var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
context.securityDomain = SecurityDomain.currentDomain;
context.applicationDomain = ApplicationDomain.currentDomain;

loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
Security.allowDomain("http://www.youtube.com")
loader.load(new URLRequest("http://www.youtube.com/v/6s8iiIFgPMU&list=PL9C6D9D2AF8999F85&index=12"));

function onLoaderInit(event:Event):void {
    addChild(loader);
    loader.x= 40;
    loader.y=130;
    loader.content.addEventListener("onReady", onPlayerReady);
    loader.content.addEventListener("onError", onPlayerError);
    loader.content.addEventListener("onStateChange", onPlayerStateChange);
    loader.content.addEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange);
}

function onPlayerReady(event:Event):void {
    // Event.data contains the event parameter, which is the Player API ID 
    trace("player ready:", Object(event).data);

    // Once this event has been dispatched by the player, we can use
    // cueVideoById, loadVideoById, cueVideoByUrl and loadVideoByUrl
    // to load a particular YouTube video.
    player = loader.content;
    // Set appropriate player dimensions for your application
    player.setSize(480, 260);
}

function onPlayerError(event:Event):void {
    // Event.data contains the event parameter, which is the error code
    trace("player error:", Object(event).data);
}

function onPlayerStateChange(event:Event):void {
    // Event.data contains the event parameter, which is the new player state
    trace("player state:", Object(event).data);
}

function onVideoPlaybackQualityChange(event:Event):void {
    // Event.data contains the event parameter, which is the new video quality
    trace("video quality:", Object(event).data);
}

Кто-нибудь может помочь? Я был бы рад, если кто-нибудь может мне помочь. Спасибо

1 ответ

Прежде чем загрузить новый SWF-файл в загрузчик, необходимо сначала вызвать:

pageLoader.unloadAndStop();

Пытается выгрузить содержимое дочернего SWF-файла и останавливает выполнение команд из загруженных SWF-файлов. Этот метод пытается выгрузить SWF-файлы, которые были загружены с помощью Loader.load() или Loader.loadBytes(), удалив ссылки на объекты EventDispatcher, NetConnection, Timer, Sound или Video дочернего SWF-файла. В результате происходит следующее для дочернего SWF-файла и списка отображения дочернего SWF-файла:

Звуки остановлены. Слушатели событий этапа удалены. Слушатели событий для enterFrame, frameConstructed, exitFrame, активировать и деактивировать удаляются. Таймеры остановлены. Экземпляры камеры и микрофона отсоединены. Видеоклипы останавливаются.

Документы в Adobe

Другие вопросы по тегам