Добрый день.
На форуме поиском все что нашел - изучил, но к конечному выводу таки не пришел. Поэтому решил создать тему.
В общем есть у заказчика сайт на AS2 и он хочет чтобы прямо внутри него был список видеороликов и чтобы по клику открывался плеер ютюбовский там же.
Ну я сразу полез в гугль - там лежит пример из одной SWF-ки. В общем я этот код использовал - плеер запускается и работает нормально, но только первый раз. Как только я его убиваю (использую родной для плеера метод destroy(), опять же взято из официальной документации) начинают постоянно лететь ошибки вида:

Код:
*** Нарушение безопасности изолированной среды ***
SecurityDomain "http://s.ytimg.com/yt/swfbin/cps-vfl0JRSGx.swf" пытался получить доступ к несовместимому контексту "file://.../basic%5Fyoutube%5Fembed.swf"
(это при запуске во флеше)
Ну и если все это добро вовремя не вырубить, то плеер вобще напрочь подвисает после убиения плеера ютюбовского. Тут без разницы- в среде запущен плеер или в браузере.
Вот немного модифицированный код примера с гугля:

Код AS1/AS2:
System.security.loadPolicyFile('http://youtube.com/crossdomain.xml');
var ytplayer:MovieClip = _root.createEmptyMovieClip("ytplayer", 1);
var ytPlayerLoaderListener:Object = {
onLoadInit: function() {
loadInterval = setInterval(checkPlayerLoaded, 250);
}
};
var loadInterval:Number;
function checkPlayerLoaded():Void {
if (ytplayer.isPlayerLoaded()) {
ytplayer.addEventListener("onStateChange", onPlayerStateChange);
ytplayer.addEventListener("onError", onPlayerError);
clearInterval(loadInterval);
}
}
function onPlayerStateChange(newState:Number) {
trace("New player state: "+ newState);
}
function onPlayerError(errorCode:Number) {
trace("An error occurred: "+ errorCode);
}
var ytPlayerLoader:MovieClipLoader = new MovieClipLoader();
ytPlayerLoader.addListener(ytPlayerLoaderListener);
ytPlayerLoader.loadClip("http://www.youtube.com/v/7yZgEqNutY4", ytplayer);
_b.onRelease = function (){
ytplayer.destroy();
ytplayer._visible = false;
}
_b1.onRelease = function (){
ytplayer._visible = true;
ytPlayerLoader.loadClip("http://www.youtube.com/v/Uc8ZHQOZ95Y", ytplayer);
}
При нажатии на любую из этих кнопок происходит подвисание. Ну если не произошло у кого-то сразу, как иногда бывает, это происходит если перед нажатием запустить проигрывание ролика.
Значит в тестовой флешке ничего кроме этих двух кнопок _b и _b1 нету, весь код в первом кадре.
Может все же у кого-то получилось побороть этот плеер?