【问题标题】:Export Release Build does not work properly导出发布版本无法正常工作
【发布时间】:2015-04-05 17:56:24
【问题描述】:

我发现我的项目在使用 Export Release Build 导出时无法正常工作。错误非常小:旨在删除视频并卸载任何剩余音频的 stop(0) 函数不起作用。

该文件在 bin-debug 文件夹中正常工作。只有在导出到发布文件夹时才会发生错误。我尝试将 bin-debug 中的“正确”.swf 文件与发布文件夹中的文件进行交换。这会导致“正确”文件失败。

<?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"/>

我该如何纠正这个错误?我认为这可能是跨域策略的问题,所以我将流文件添加到服务器,但它仍然不起作用: 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>

【问题讨论】:

  • 错误是什么?你的代码是什么?
  • Export Release 文件所在文件夹中的版本出现故障,但没有错误代码。 bin-debug 文件夹中的版本正常工作,直到整个 bin-debug 文件夹被移动,此时它也出现故障。
  • “无法正常工作”是什么意思。除了你之外,任何人都不清楚这一点。

标签: actionscript-3 apache-flex actionscript flash-builder


【解决方案1】:

bin-debug 文件夹中的 SWF 工作方式不同的唯一原因是 SWF 执行了一些潜在的不安全操作(如访问本地文件等),因为 bin-debug 文件夹通常位于Flash 播放器。

因此,您可以将您的 bin-release 文件夹添加到受信任位置列表(在 Flash 播放器的全局设置中),或者,如果应用程序是用于网络的,则只需先在网络环境中测试它,看看它是如何实现的有效。

另外,为了查看所有运行时错误,您可以使用 Flash 播放器的“内容调试器”版本 (http://www.adobe.com/support/flashplayer/downloads.html)。

【讨论】:

  • 在本地运行时一切正常。将代码放在 Web 服务器上时会失败。另外,我已经在使用内容调试器了——它不会产生任何运行时错误。
  • 如果您怀疑其中有任何错误,最好在此处发布您的代码,而不是投反对票。
  • 好的,谢谢。我上传了一个代码 sn-p 来说明错误。
  • 非常感谢!你的建议对我有帮助!
【解决方案2】:

我看到您使用 Flex SDK 3.6 和 FlashPlayer 9。“unloadAndStop”方法在 FP 9 中无法正常工作。 尝试使用 Flex SDK 4.5.1 并编译到 FP 10.2.0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 2016-10-06
    相关资源
    最近更新 更多