Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не отображается ролик через объект из youtube во Flash (http://www.flasher.ru/forum/showthread.php?t=207300)

mariamarfi 07.04.2014 15:44

Не отображается ролик через объект из youtube во Flash
 
Вложений: 1
Ошибки:
implicitImports, строка 21 1172: Не удалось найти определение flash.text.engine.
implicitImports, строка 17 1172: Не удалось найти определение flash.sensors.
implicitImports, строка 13 1172: Не удалось найти определение flash.net.drm.
implicitImports, строка 10 1172: Не удалось найти определение flash.globalization.
implicitImports, строка 3 1172: Не удалось найти определение flash.desktop.
implicitImports, строка 1 1172: Не удалось найти определение __AS3__.vec:Vector.


Код AS3:

import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
 
Security.allowDomain("www.youtube.com");
 
var player: Object;
 
var loader: Loader = new Loader();
 
loader.load(new URLRequest("http://www.youtube.com/watch?v=K_7cMJjeQo4"));
loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
 
function onInit (e: Event): void
{
        addChild(loader);
        player = loader.content;
        player.addEventListener("onReady", onPlayerReady);
}
 
function onPlayerReady(e: Event): void
{
        player.setSize(640, 360);
        player.loadVideoById("NBRqUqilRfY",0);
}
 
btnPlay.addEventListener(MouseEvent.CLICK, onPlayVideo);
btnPause.addEventListener(MouseEvent.CLICK, onPauseVideo);
btnStop.addEventListener(MouseEvent.CLICK, onStopVideo);
btnMute.addEventListener(MouseEvent.CLICK, onMuteVideo);
btnUnmute.addEventListener(MouseEvent.CLICK, onUnmuteVideo);
 
function onPlayVideo(e: MouseEvent): void
{
        player.playVideo();
}
 
function onPauseVideo(e: MouseEvent): void
{
        player.pauseVideo();
}
 
function onStopVideo(e: MouseEvent): void
{
        player.stopVideo();
}
 
function onMuteVideo(e: MouseEvent): void
{
        player.mute();
}
 
function onUnmuteVideo(e: MouseEvent): void
{
        player.unMute();
}




Из источника: http://stackoverflow.com/questions/2...ideos-in-flash

kotyavo 07.04.2014 23:33

Для отображения видео с ютуба нужно пользоваться через ихний API
http://www.youtube.com/apiplayer?ver...destbranding=1

https://developers.google.com/youtub...eference?hl=ru

alexcon314 08.04.2014 09:32

Какая версия Action Script указана в настройках публикации ролика?

mariamarfi 09.04.2014 01:08

Вот у меня параметры публикации

Rivexe 09.04.2014 12:12

Насчет ошибок точно сказать не могу, но:

1. Вначале надо загружать сам плеер, а не ролик.
неправильно
Код AS3:

loader.load(new URLRequest("http://www.youtube.com/watch?v=K_7cMJjeQo4"));

правильно
Код AS3:

loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));

2. В вашем вложении, в первом слое есть открывающийся блочный комментарий "/*", но нет закрывающегося, может как то с этим связано.

mariamarfi 10.04.2014 14:47

Ошибка: Error #2044: Необработанный IOErrorEvent:. text=Error #2124: Неизвестный тип загруженного файла.

Код AS3:

import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
 
Security.allowDomain("www.youtube.com/apiplayer?version=3");
 
var player: Object;
 
var loader: Loader = new Loader();
 
loader.load(new URLRequest("http://www.youtube.com/watch?v=bF1XLRrQasQ"));
loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
 
function onInit (e: Event): void
{
        addChild(loader);
        player = loader.content;
        player.addEventListener("onReady", onPlayerReady); //Это событие вызывается при загрузке и инициализации проигрывателя, что означает его готовность к приему вызовов API.
}
 
function onPlayerReady(e: Event): void
{
        player.setSize(640, 360);
        player.loadVideoById("NBRqUqilRfY",0); //Загрузка и воспроизведение указанного видео.
}
 
btnPlay.addEventListener(MouseEvent.CLICK, onPlayVideo);
btnPause.addEventListener(MouseEvent.CLICK, onPauseVideo);
btnStop.addEventListener(MouseEvent.CLICK, onStopVideo);
btnMute.addEventListener(MouseEvent.CLICK, onMuteVideo);
btnUnmute.addEventListener(MouseEvent.CLICK, onUnmuteVideo);
 
function onPlayVideo(e: MouseEvent): void
{
        player.playVideo(); //Воспроизведение размеченного/загруженного видео.
}
 
function onPauseVideo(e: MouseEvent): void
{
        player.pauseVideo(); //Приостановка воспроизведения видео.
}
 
function onStopVideo(e: MouseEvent): void
{
        player.stopVideo(); //Остановка воспроизведения видео. Эта функция также отменяет загрузку видео.
}
 
function onMuteVideo(e: MouseEvent): void
{
        player.mute(); //Выключает звук в проигрывателе.
}
 
function onUnmuteVideo(e: MouseEvent): void
{
        player.unMute(); //Включает звук в проигрывателе.
}

Добавлено через 6 минут
А как в дальнейшем отобразить другой ролик? например, открыть ролик http://www.youtube.com/watch?v=ZFMZr42gNHY

Добавлено через 49 минут
Код AS3:

import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
 
Security.allowDomain("www.youtube.com");
 
var player: Object;
 
var loader: Loader = new Loader();
 
loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
 
function onInit (e: Event): void
{
        addChild(loader);
        player = loader.content;
        player.addEventListener("onReady", onPlayerReady); //Это событие вызывается при загрузке и инициализации проигрывателя, что означает его готовность к приему вызовов API.
}
 
function onPlayerReady(e: Event): void
{
        player.setSize(640, 360);
        player.loadVideoById("NBRqUqilRfY",0); //Загрузка и воспроизведение указанного видео.
}
 
btnPlay.addEventListener(MouseEvent.CLICK, onPlayVideo);
btnPause.addEventListener(MouseEvent.CLICK, onPauseVideo);
btnStop.addEventListener(MouseEvent.CLICK, onStopVideo);
btnMute.addEventListener(MouseEvent.CLICK, onMuteVideo);
btnUnmute.addEventListener(MouseEvent.CLICK, onUnmuteVideo);
 
function onPlayVideo(e: MouseEvent): void
{
        player.playVideo(); //Воспроизведение размеченного/загруженного видео.
}
 
function onPauseVideo(e: MouseEvent): void
{
        player.pauseVideo(); //Приостановка воспроизведения видео.
}
 
function onStopVideo(e: MouseEvent): void
{
        player.stopVideo(); //Остановка воспроизведения видео. Эта функция также отменяет загрузку видео.
}
 
function onMuteVideo(e: MouseEvent): void
{
        player.mute(); //Выключает звук в проигрывателе.
}
 
function onUnmuteVideo(e: MouseEvent): void
{
        player.unMute(); //Включает звук в проигрывателе.
}

Вывод:
*** Нарушение безопасности изолированной среды ***
SecurityDomain "http://s.ytimg.com/yts/swfbin/player-vflLO2R9k/apiplayer3.swf" пытался получить доступ к несовместимому контексту "file:///F|/Мой%20проект%20RL/proba%27s/How%20to%20embed%20youtube%20videos%20in%20Flash%20using%20AS3.swf"

Почему это нарушение?

alexcon314 10.04.2014 15:39

Вы внимательно прочли пост №5?
Цитата:

Вначале надо загружать сам плеер, а не ролик.
Код AS3:

loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));


Rivexe 10.04.2014 15:53

Цитата:

Сообщение от mariamarfi (Сообщение 1163329)
А как в дальнейшем отобразить другой ролик? например, открыть ролик http://www.youtube.com/watch?v=ZFMZr42gNHY

С помощью идентификатора видео:
Код AS3:

player.loadVideoById("ZFMZr42gNHY",0);

Изучите документацию, там все методы описаны - https://developers.google.com/youtub...eference?hl=ru

mariamarfi 10.04.2014 17:09

Сработало! Спасибо большое.


Часовой пояс GMT +4, время: 05:36.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.