我在AS3上工作的一个显示youtube视频的功能。它有效,但问题是,如果我启动视频而不是点击“缓存”,它会删除视频,但我仍然可以听到它。我是客人,因为视频并没有真正破坏,所以我该怎么做?
我的职能:
public function openVideoYoutube(url:String, largeur:int=640, hauteur:int=390):void
{
//Charge la vidéo
var loaderVideo:Loader=new Loader();
loaderVideo.load(new URLRequest(url));
//Va chercher le stage
var stage:Stage = _app._root.stage;
//Conteneur de la vidéo et du cache
var conteneurVideo:MovieClip = new MovieClip;
//Cache noir
var cacheNoir:MovieClip = new MovieClip();
cacheNoir.graphics.beginFill(0x000000);
cacheNoir.graphics.drawRect(0, 0, stage.width, stage.height);
cacheNoir.graphics.endFill();
cacheNoir.alpha = 0.7;
//Positionne la video
loaderVideo.x = (stage.stageWidth-largeur)/2;
loaderVideo.y = (stage.stageHeight - hauteur) / 2;
//Ajoute du cache et de la vidéo
conteneurVideo.addChild(cacheNoir);
conteneurVideo.addChild(loaderVideo);
//Ajoute sur le stage
stage.addChild(conteneurVideo);
//Change le curseur lorsque que le cache est survolé
cacheNoir.buttonMode = true;
//Évènement pour retirer la vidéo
cacheNoir.addEventListener(MouseEvent.CLICK, onQuitVideoYoutube);
}
private function onQuitVideoYoutube(pEvt:MouseEvent):void
{
//Va chercher le stage
var stage:Stage = _app._root.stage;
//Retire la vidéo
stage.removeChildAt(stage.numChildren-1);
}
答案 0 :(得分:1)
我找到了解决方案。如果你做loaderVideo.content
,你得到的对象有很多有用的方法,因为它是youtube的API,其中一个是destroy()。查看此页面了解所有功能:
https://developers.google.com/youtube/flash_api_reference?csw=1#Functions
答案 1 :(得分:0)
如果<script src="cordova.js"></script>
<script type="text/javascript">
window.addEventListener('load', function () {
$(document).on('click', 'a[target="_system"],a[target="_blank"]', function (e) {
e.preventDefault();
var url = this.href;
window.open(url,"_system");
});
}, false);
</script>
对视频负责,您不能只使用 unload ..
你的函数onQuitVideoYoutube :var loaderVideo:Loader
..
此外,您应该将loaderVideo置于任何函数外部的loaderVideo.unload();
,然后所有函数都可以重复使用它,而无需每次都使用新函数。对于加载,它将变为简单public var loaderVideo:Loader;
。
每当你制作一个loaderVideo = new Loader();
来在内存中创建一个新实例时,你以后的代码甚至可能不会谈论你认为Flash正在访问的var ABC = new someThing
。所以做一件事并且总是重复使用它然后你就知道做了什么。
示例设置......
someThing