2011-05-12 38 views
0

如果我使用flash.media.Sound类,但我已经请求一个URL来执行此操作,我可以在Adobe AIR中播放声音文件。我需要做的是将其作为嵌入资源加载到AIR应用中。我曾尝试使用mx.core.media库,但这也不起作用。在Adobe AIR中嵌入声音文件时出现的问题

下面是一个简单的应用程序,显示问题:

<fx:Script> 
    <![CDATA[ 
     // Embed MP3 file. 
     import flash.media.Sound; 
     import mx.core.SoundAsset; 
     [Embed(source="ding.mp3")] 
     [Bindable] 
     public var sndCls:Class; 
     private var myReq:URLRequest = new URLRequest("ding.mp3"); 
     private var snd:Sound; 
     private var sndAsset:Sound; 
     private var myChannel:SoundChannel; 
     protected function myButton_clickHandler(event:MouseEvent):void 
     { 
      sndAsset = new sndCls() as SoundAsset; 
      myChannel = sndAsset.play(); 
     } 

     protected function myReqButton_clickHandler(event:MouseEvent):void 
     { 
      snd = new Sound(myReq); 
      snd.play(); 
     } 

    ]]> 
</fx:Script> 

<fx:Declarations> 
</fx:Declarations> 
<s:Button id="myButton" label="Play Embedded" click="myButton_clickHandler(event)"/> 
<s:Button id="myReqButton" label="Play Requested" click="myReqButton_clickHandler(event)"/> 

你需要在同一个目录ding.mp3进行测试。

任何建议,欢迎

感谢

史蒂夫

回答

0

嵌入式资源不能绑定的,因为它是恒定的。尝试删除[Bindable]。如果这没有帮助,请发布错误消息(如果有的话)或描述症状有什么问题。

相关问题