1

YouTubeプレイリストを取得してIOSでビデオを再生しようとしています。私のアプリは Android および Flex シミュレーターでは正常に動作しますが、IOS では動作しません。ここでは、IOS での swfs のロードに制限があるようです。

そのためにas3-youtube-data-apiを使用しています。IOS で as3 (Flash Builder 4.5) を使用して YouTube ビデオを埋め込んだり再生したりする方法を教えてもらえますか、それとも他の方法がありますか?

注: アプリ ストアには「Cisco Technical Support」アプリがあり、アプリに埋め込まれた YouTube ビデオを再生します。

プレイリストに mp4 がないので、VideoDisplayを更新 できますか?

もっとアップデート

これは、少なくともIOSでYouTubeビデオを再生できる方法です(これを読んでください)が、Androidでは黒い画面が表示されます。このアプローチでできることはありますか?あなたの提案をしてください。ありがとう

var webView:StageWebView;
public function init():void
{
    NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;

    webView = new StageWebView(); 
    webView.viewPort = new Rectangle( 0, 35, this.stage.stageWidth, this.stage.stageHeight); 
    webView.stage = this.stage; 
    var htmlString:String = "<!DOCTYPE HTML>" + 
        "<html><body><script>" +
        "var tag = document.createElement('script');"+ 
        "tag.src = \"http://www.youtube.com/player_api\";"+ 
        "var firstScriptTag = document.getElementsByTagName('script')[0];"+ 
        "firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);"+
        "var player;"+

        "function onYouTubeIframeAPIReady() {"+
            "player = new YT.Player('player', {"+             
              "events: {"+
                "'onReady': onPlayerReady,"+
                "'onStateChange': onPlayerStateChange"+
              "}"+
            "});"+
        "}"+
        "function onPlayerReady(event) {"+
            "event.target.playVideo();"+
        "}"+
        "var done = false;"+
          "function onPlayerStateChange(event) {"+
            "if (event.data == YT.PlayerState.PLAYING && !done) {"+
              "setTimeout(stopVideo, 6000);"+
              "done = true;"+
            "}"+
          "}"+
          "function stopVideo() {"+
            "player.stopVideo();"+
        "}"+

        "</script>"+
        "<iframe id=\"player\" type=\"text/html\" width=\"100%\" height=\"400\" src=\"http://www.youtube.com/embed/g-YW2jkd-Ac\" frameborder=\"0\"></iframe>" + 
        "</body></html>"; 
    webView.loadString( htmlString );
    //webView.loadURL("http://www.youtube.com/embed/M7lc1UVf-VE");
}
public function dispose():void {
    try {
        webView.stage=null;
    } catch (e:Error) { trace("error")} 
}

I を使用Capabilities.osすると、OS を識別し、IOS と Android を介して作業できます。

繰り返しますが、IOSで JavaScript を呼び出すことができないため、ビデオを停止できません。

アップデート

これは私がIOSに対して行ったことです。組み込みのプレーヤーコントロールを提供します

public function initIOS():void
{
NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;

webView = new StageWebView();

webView.viewPort = new Rectangle( 0, 40, this.stage.stageWidth, this.stage.stageHeight-40);

webView.stage = this.stage; 
webView.loadURL("http://www.youtube.com/embed/"+data.videoId+"");
}
4

1 に答える 1