Actionscript 3 导出版本生成无法正常工作
我发现我的项目在使用Export Release Build导出时无法正常工作。错误非常小:用于删除视频并卸载任何剩余音频的停止(0)功能不起作用 该文件在bin debug文件夹中正常工作。只有在导出到发布文件夹时才会发生错误。我已尝试从bin debug将“correct”.swf文件与release文件夹中的文件进行切换。这会导致“正确”文件失败Actionscript 3 导出版本生成无法正常工作,actionscript-3,apache-flex,actionscript,flash-builder,Actionscript 3,Apache Flex,Actionscript,Flash Builder,我发现我的项目在使用Export Release Build导出时无法正常工作。错误非常小:用于删除视频并卸载任何剩余音频的停止(0)功能不起作用 该文件在bin debug文件夹中正常工作。只有在导出到发布文件夹时才会发生错误。我已尝试从bin debug将“correct”.swf文件与release文件夹中的文件进行切换。这会导致“正确”文件失败 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*" >
<mx:Script>
<![CDATA[
[Bindable] public var videoAddress:String
private static const YOUTUBE_EMBED_URL:String = "http://www.youtube.com/v/";
[Bindable] public var videoUrl:String = "";
public function play():void {
Security.allowDomain("*");
videoUrl = YOUTUBE_EMBED_URL+videoAddress;
}
public function stop():void{
SoundMixer.stopAll();
swfLoader.unloadAndStop(true)
}
public function playVideo(buttonNumber:int):void{
stop()
switch(buttonNumber){
case 0:
videoAddress = "xUWeAOLY0FU?rel=0";
play()
break;
case 1:
videoAddress = "m2dg6teC7fg?rel=0";
play()
break;
default:
break;
}
}
]]>
</mx:Script>
<mx:HBox>
<mx:Button id="button0" label="Button0" click="playVideo(0)" useHandCursor="true" buttonMode="true" />
<mx:Button id="button1" label="Button1" click="playVideo(1)" useHandCursor="true" buttonMode="true" />
</mx:HBox>
<mx:VBox id="vBox" y="50" />
<mx:SWFLoader id="swfLoader" source="{videoUrl}" y="50"/>
如何更正此错误?我认为这可能是跨域策略的一个问题,因此我将floowing文件添加到服务器,但它仍然不起作用:
corssdomain.xml
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<site-control permitted-cross-domain-policies="by-content-type"/>
<allow-access-from domain="*"/>
<allow-access-from domain="i.ytimg.com"/>
<allow-access-from domain="youtube.com"/>
</cross-domain-policy>
bin debug文件夹中的SWF工作方式不同的唯一原因是SWF执行一些潜在的不安全操作(如访问本地文件等),因为bin debug文件夹通常位于Flash player的“白名单”中 因此,您可以将bin release文件夹添加到受信任的位置列表(在Flash播放器的全局设置中),或者,如果应用程序是用于web的,则只需先在web环境中对其进行测试,看看它是如何工作的
另外,为了查看所有运行时错误,您可以使用Flash player()的“内容调试器”版本。我看到您使用的是Flex SDK 3.6和FlashPlayer 9。“unloadAndStop”方法在FP 9中无法正常工作。
尝试使用Flex SDK 4.5.1并编译为FP 10.2.0。错误是什么?您的代码是什么?导出版本文件文件夹中的版本出现故障,但没有错误代码。在整个bin debug文件夹被移动之前,bin debug文件夹中的版本会正常工作,此时它也会出现故障。你说的“不能正常工作”是什么意思。这对除您之外的任何人都不清楚。在本地运行时,一切都正常。有一些代码在放到web服务器上时失败。另外,我已经在使用内容调试器了——它不会产生任何运行时错误。如果您怀疑其中有错误,最好在这里发布代码,而不是进行向下投票。好的,谢谢。我上传了一段代码来说明错误。非常感谢!你的建议帮助了我!