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+"");
}