編輯:
我想只加載視頻(不是所有的YouTube頁面)。
使用該鏈接的格式:
url = "https://www.youtube.com/v/hFupHx5G44s";
例如,選擇像下面的格式:
https://www.youtube.com/v/hFupHx5G44s
- 使用/v/
得到一個SWF版本 https://www.youtube.com/embed/hFupHx5G44s
- 使用/embed/
獲得HTML5版本
這是一個ANDROID AIR應用程序。
你應該在問題中提到那個細節。你可以嘗試添加
Security.allowDomain("www.youtube.com");
Security.loadPolicyFile("https://www.youtube.com/crossdomain.xml");
//////////# End of Edit
爲什麼不使用stageWebView
加載嵌入(HTML5)播放器的網頁?
不推薦使用YouTube AS3 API可能意味着您無法創建自己的用戶界面或使用搜索等功能。儘管可以輕鬆地重新創建搜索功能(將「搜索結果」源代碼加載到字符串中,並通過解析源代碼來提取鏈接)。
無論如何,我只是嘗試下面的代碼,它適用於AIR桌面應用程序。
也許你可以使用它作爲一個起點......
package
{
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
import flash.events.*;
import flash.system.*;
public class Youtube_AIR_code extends MovieClip
{
public var YT_Loader : Loader;
public var my_VIDEO_ID : String = "hFupHx5G44s"; //# the YouTube ID
public function Youtube_AIR_code()
{
Security.loadPolicyFile("http://www.youtube.com/crossdomain.xml");
YT_Loader = new Loader();
YT_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, YT_Ready);
YT_Loader.load(new URLRequest("http://www.youtube.com/v/" + my_VIDEO_ID));
}
function YT_Ready (e:Event) : void
{
trace("YouTube SWF :: [status] :: Loading Completed");
//addChild(YT_Loader);
//# Wait for Youtube Player to initialise
YT_Loader.content.addEventListener("onReady", on_YT_PlayerLoaded);
}
private function on_YT_PlayerLoaded (e:Event) : void
{
//# Check Original Width/Height - Scale it proportionally
trace("YT_Loader content Width : " + YT_Loader.content.width);
trace("YT_Loader content Height : " + YT_Loader.content.height);
//# Testing changed size and position
YT_Loader.width = 320; YT_Loader.height = 240;
YT_Loader.x = 30; YT_Loader.y = 100;
addChild(YT_Loader); //# can add to stage only
}
} //# End Public Class
} //# End Package
顯示您試過的代碼無法正常工作...有人可以爲您仔細檢查。 –