2017-02-22 5 views
1

YouTube AS3 APIこのシンプルなコードは、ずっと前から怒られていました。すべてが大丈夫だった。 しかし、数日前にいくつかの問題。 早い(今月18日まで)すべて正常に動作します。 AS3 APIを使用するFlash Playerです。YouTube AS3 API(onReadyはもっと機能しません)

public function Main() 
      { 
       super(); 
       Security.allowInsecureDomain("*"); 
       Security.allowDomain("*"); 
       stage.align = StageAlign.TOP_LEFT; 
       stage.scaleMode = StageScaleMode.SHOW_ALL; 
       this._loader = new Loader(); 
       this._loader.contentLoaderInfo.addEventListener(Event.INIT,this._onLoaderInit); 
       this._loader.addEventListener(IOErrorEvent.IO_ERROR,this.errorHandlerIOErrorEvent); 
       this._loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,this.errorHandlerIOErrorEvent); 
       this._loader.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR,this.onUncaughtError); 
       this.loadTime = new Date(); 
       this._loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"); 
    } 

    private function _onLoaderInit(param1:Event) : void 
      { 
      this.player = this._loader.content; 
      this.player.addEventListener("onReady",this.onPlayerReady); 
      this.player.x = 0; 
      this.player.y = 0; 
      addChild(DisplayObject(this.player)); 
      this._loader.contentLoaderInfo.removeEventListener(Event.INIT,this._onLoaderInit); 
      this._loader = null; 
    } 

function onPlayerReady(param1:Event) : void // start from 18th this month , onReady dont fired 
{ 

} 

誰かがこの問題を知っていますか、それを修正しますか? Thx。

+0

これはずっと前に償却されていませんでしたか? – quantomworks

+0

ありがとうございます。 –

+1

問題が見つかりました。 –

答えて

2

@Ivan Korneev

これは答えです。 YouTube API for AS3(Flash)は価値が下がりました。数日前に私のアプリケーションで壊れてしまったので、私はこれを知っています。幸いなことに、私たちはHTML5の上に移動しました。私は同じことをお勧めします。あなたはここにhttps://developers.google.com/youtube/iframe_api_reference

1
  • YouTubeのパスのhttpsをお試しください詳細を学ぶことができます。 例:.load(new URLRequest("https://www.youtube.com/api...etc

  • 代わりのhttp://www.youtube.com/apiplayer?version=3
    試し:応答のために@Allするhttps://youtube.googleapis.com/apiplayer?version=3

2

Thxを。 私はいくつかのintrestingものを見つけました。

apiplayer.apiは 、クラスDirectAccessAPIで機能

protected function forwardAPICall(param1:String, param2:Array) 
     { 
      var _loc_3:* = new APICallEvent(this.API_CALL, param1, param2); 
      this.loader.contentLoaderInfo.sharedEvents.dispatchEvent(_loc_3); 
      return _loc_3.returnValue; 
     }// end function 

しかしAPI_CALL定数はAPICallEventのメンバーである必要があり、私はちょうどこの

var _loc_3:* = new APICallEvent(APICallEvent.API_CALL, param1, param2); 

、すべてOKのようにそれを修正するが、今、私は負荷を必要としますローカルストレージからのアプライヤー、YouTubeからではありません。

+0

これは一時的に機能するかもしれませんが、すぐには動作しません。本当の答えは、AS3はもはやYouTubeによってサポートされていないということです。 https://developers.google.com/youtube/flash_api_reference –

1

は、私は同じ問題に遭遇してきたこのオープンソースソリューションhttps://github.com/myflashlab/AS3-youtube-parser-video-link

+0

これを使用すると、ファイル全体を最初にダウンロードする代わりにどうすればストリームできますか?どうすればアップロードできますか? – quantomworks

+0

flash.media.Videoクラスを使用してビデオを再生することはできますが、アップロードすることはできません。 –

+0

私はnetstreamのターゲットをビデオのURLにしてから、nsをビデオに添付しますか? – quantomworks

2

を試してみてください。私はこのAPIを使って、フラッシュベースのゲーム内にYoutubeビデオ(Chromeless Player)を表示します。ですから、悲しいことに、Flash内では動作しないため、HTML5プレーヤーに切り替えることができません。 FlashベースのYoutube APIに悩まされているので、私はOPのようにこの問題を解決しようとしました。

調査の結果、私はそれを発見しました: - APIのホストアドレスは2月18日頃に移動されました。 (now youtube.comではなくgoogleapis.comドメインにあります) - このドメインを移動した後、APIをYoutubeから正しく読み込むことができません。ドキュメントに記載されているように、APIを読み込むと、 "onReady"イベントが発生します。現在、それは決して起こらない。 - プレーヤーのdoc(loadVideo()、stopVideo()など)に記述されているメソッドを呼び出すと、「メソッドX()が存在しません」というエラーが発生するようになりました。 Flash Player APIがYoutube側で何か問題があることをさらに証明するのは、ブラウザでクロムレスプレーヤーのURLを開いていることです。これまでのように、より長い「Youtube」ロゴを表示します。 - 私は、APIをドメインから別のドメインに移動したときに内部URLを書き換えるのを忘れてしまったため、その依存関係などをすべてロードできなくなってしまったというのが私の提案です。

残念ながら、これで問題は解決されず、どこにあるのかを絞り込むだけです。

唯一の方法は、現在のAPIで何が問題なのかを「修正」するように、YouTubeに連絡することだと思います。彼らがそれを自発的に無効にしない限り(HTML5はAS3プレーヤーのすべての用途をカバーすることができないため、悲しいでしょう)。

関連する問題