如果使用flash.media.Sound类,则可以在Adobe AIR中播放声音文件,但我已请求执行此操作的URL。我需要做的是将其作为嵌入式 Assets 加载到AIR应用程序中。我尝试使用mx.core.media库,但这也不起作用。
这是一个显示问题的简单应用程序:
<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进行测试。
任何建议欢迎
谢谢
史蒂夫
最佳答案
嵌入式资源不可绑定(bind),因为它是恒定的。尝试删除[可绑定(bind)]。如果那没有帮助,请发布错误消息(如果有)或描述症状是什么地方。
关于air - 在Adobe AIR中嵌入声音文件时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5981929/