2015-02-05 49 views
-1

我发现使用导出发行版导出时,我的项目无法正常工作。该错误非常小:用于移除视频并卸载任何剩余音频的停止(0)功能不起作用。导出发行版本无法正常工作

该文件在bin-debug文件夹中正常工作。只有在导出到发布文件夹时才会出现错误。我试图用bin-debug中的'correct'.swf文件与release文件夹中的文件进行swopping。这会导致“正确”文件失败。

<?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> 
+0

什么是错误?你的代码是什么? – ketan 2015-02-06 04:22:32

+0

导出发布文件的文件夹中的版本出现故障,但没有错误代码。 bin-debug文件夹中的版本正常工作,直到整个bin-debug文件夹被移动,此时它也会出现故障。 – SimonRH 2015-02-06 13:15:32

+0

你是什么意思“无法正常工作”。除了你以外,任何人都不清楚。 – 2015-02-11 15:04:24

回答

0

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

因此,您可以将您的bin-release文件夹添加到受信任位置列表中(位于Flash播放器的全局设置中),或者如果该应用程序用于Web,请先在Web环境中进行测试,然后查看有用。

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

+0

本地运行时一切正常。有代码在放入Web服务器时失败。另外,我已经在使用内容调试器 - 它不会产生任何运行时错误。 – SimonRH 2015-02-09 13:30:34

+0

如果您怀疑其中存在任何错误,而不是downvoting,那么您最好在此处发布您的代码。 – davee44 2015-02-09 14:20:10

+0

好的谢谢。我已经上传了一段代码来说明错误。 – SimonRH 2015-02-09 20:51:50

0

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