actionscript-3 - YouTube API 播放器无法播放某些视频

标签 actionscript-3 flash youtube youtube-api

YouTube Flash API 中的错误代码 0 是什么意思?尝试使用 API 播放某些视频时会发生这种情况。其他错误代码在 API Reference 中解释,但不是错误代码 0。

如何让 YouTube 播放器播放所有视频,就像在 YouTube Player Demo 上一样?

FLA 和 SWF 文件: https://s3.amazonaws.com/YouTubeAPIError0/YouTubeAPIError0.zip

package {
    import flash.system.Security;
    import flash.display.MovieClip;
    import flash.display.Loader;
    import flash.events.Event;
    import flash.net.URLRequest;
    import fl.data.DataProvider;
    import fl.controls.ComboBox;
    import fl.controls.TextArea;

    public class YouTubeAS3 extends MovieClip {
        public var VidHolder:MovieClip;
        public var VidSelection:ComboBox;
        public var traceArea:TextArea;

        private var player:Object;
        private var loader:Loader;
        private var vidCollection:DataProvider;

        public function YouTubeAS3():void {
            Security.allowInsecureDomain("*");
            Security.allowDomain("*");

            vidCollection = new DataProvider();
            vidCollection.addItem({data:"eDdI7GhZSQA", label:"Video 1"});
            vidCollection.addItem({data:"S09F5MejfBE", label:"Video 2"});
            vidCollection.addItem({data:"QUwxKWT6m7U", label:"Video 3"});
            vidCollection.addItem({data:"TAbnQZZ6QXc", label:"Video 4"});
            vidCollection.addItem({data:"QH2-TGUlwu4", label:"Errorless Video"});

            VidSelection.dataProvider = vidCollection;
            VidSelection.addEventListener(Event.CHANGE, cueVideo);

            loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
            loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
        }

        private function onLoaderInit(event:Event):void {
            VidHolder.addChild(loader);
            loader.content.addEventListener("onReady", onPlayerReady);
            loader.content.addEventListener("onError", onPlayerError);
            loader.content.addEventListener("onStateChange", onPlayerStateChange);
            loader.content.addEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange);
        }

        private function onPlayerReady(event:Event):void {
            traceArea.text += "player ready: " + Object(event).data + "\r";
            player = loader.content;
            player.setSize(480, 360);
            VidSelection.selectedIndex = 0;
            VidSelection.dispatchEvent(new Event(Event.CHANGE));
        }
        private function cueVideo(event:Event):void {
            traceArea.text += "switch to: " + event.target.selectedItem.label + "\r";
            player.cueVideoById(event.target.selectedItem.data);
        }

        private function onPlayerError(event:Event):void {
            traceArea.text += "player error: " + Object(event).data + "\r";
        }

        private function onPlayerStateChange(event:Event):void {
            traceArea.text += "player state: " + Object(event).data + "\r";
        }

        private function onVideoPlaybackQualityChange(event:Event):void {
            traceArea.text += "video quality: " + Object(event).data + "\r";
        }
    }
}

最佳答案

关于actionscript-3 - YouTube API 播放器无法播放某些视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17741867/

相关文章:

actionscript-3 - 可视化大型 as3 项目的好方法是什么?

actionscript-3 - 在 ActionScript 3 中对对象向量进行排序

Flash CS4 组合框嵌入时不显示

flash - 我可以在 ActionScript 中扩展 Function 的原型(prototype)吗?

actionscript-3 - 如何在 AS3 中停止同时浏览器和 SWF 鼠标滚轮滚动?

javascript - TinyMCE 限制scrollerActived 上的文本

algorithm - 在一个纹理中绘制多个位图

javascript - 有人可以帮我破译 YouTube 审查视频的签名吗

ios - YouTube OAuth2授权在重新授权时失败

html - allowedfullscreen 无法在 html5 嵌入式 YouTube 播放器中与 google chrome 一起使用