我正在开发这个视频播放器: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/index.html
在上面的示例中,播放器正在加载此开始图像,以便在播放视频之前显示它: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/videos/HF_REEL.jpg
-
在这里,我告诉玩家加载相同的图像,但在另一个域上: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/index2.html
给定的图片是:http://www.daviddarx.com/HF_REEL.jpg
-
正如您所看到的,它不再起作用了。 我在Google上搜索并发现我理论上必须添加一个crossdomain.xml,以确保没有安全保护来避免swf从其他域加载图像。
我将这两个文件放在不同的域上,告诉swf接受来自所有*域的文件: http://www.horsform.com/crossdomain.xml
http://www.daviddarx.com/crossdomain.xml
但它仍然不起作用......你知道什么是错的吗?我错过了什么吗? 提前感谢您的帮助!
戴维斯
答案 0 :(得分:1)
RTE实际上告诉你该怎么做:
来自AS3帮助的需要策略文件,但未设置checkPolicyFile标志 当这个媒体被加载。
:
当您调用Loader对象的load()方法时,您可以指定 上下文参数,它是一个LoaderContext对象。该 LoaderContext类包含三个允许您定义的属性 如何使用加载内容的上下文:
checkPolicyFile:仅在加载图像文件时使用此属性 (不是SWF文件)。为其他域中的图像文件指定此项 而不是包含Loader对象的文件。如果设置了这个 如果属性为true,则Loader将检查原始服务器的a 跨域策略文件(请参阅网站控制(跨域策略) 文件))。如果服务器授予Loader域的权限, Loader域中SWF文件的ActionScript可以访问数据 加载的图像。换句话说,您可以使用Loader.content 获取对表示的Bitmap对象的引用的属性 加载的图像,或BitmapData.draw()方法来访问像素 从加载的图像。
因此,您需要将LoaderContext
实例的checkPolicyFile
标记设置为true作为Loader#load
方法的参数
类似的东西:
var loader : Loader = new Loader();
loader.load( new URLRequest( 'http://www.daviddarx.com/HF_REEL.jpg' ), new LoaderContext( true ) );