在AS3 Flash/Flex项目中嵌入wav文件?

aaa*_*dan 6 embed flash audio wav actionscript-3

Flash IDE能够嵌入许多类型的未压缩声音文件,包括wav,并在发布时提供可选的压缩.

但是,[Embed]标签似乎只允许嵌入mp3文件.是否真的不可能嵌入未压缩的wav文件,或者我错过了一些魔法的,未记录的mimeType?

我希望有类似的东西:

[Embed source="../../audio/wibble.wav" mimeType="audio/wav"]
Run Code Online (Sandbox Code Playgroud)

......但是我明白了

no transcoder registered for mimeType 'audio/wav'
Run Code Online (Sandbox Code Playgroud)

可以将wav或其他格式作为八位字节流嵌入并在运行时解析,但我觉得这很重要.

令我惊讶的是,即使Flash IDE可以嵌入未压缩的声音数据,[Embed]也不能,因为swf规范可以包含未压缩的声音数据.

任何接受者?

Bae*_*orn 14

来自LiveDocs - 使用声音的基础知识:

[...]虽然有各种声音文件格式用于编码数字音频,但ActionScript 3.0,Flash Player和AIR支持以mp3格式存储的声音文件.它们无法直接加载或播放其他格式的声音文件,如WAV或AIFF.[...]

但显然有一个解决方法.从actionscript.org查看此帖子中的第3篇帖子:

如果有人在将来有同样的问题并正在寻找答案,请回复自己.

我找不到任何直接支持在Flex Builder 3/ActionScript 3应用程序中嵌入WAV文件.我尝试过并且很高兴看到它的工作原理是在Flash CS 3中创建Flash影片(您需要拥有它或获得评估)并将声音导入库并链接它们以通过ActionScript导出.将Flash CS3项目导出到SWF影片并将其保存在项目中(我将其添加到"lib文件夹").

用于创建和播放声音的ActionScript代码应为:

[Embed(source="lib/Sounds.swf", symbol="BigShipSound")]
private static var BigShipSound: Class;
...
var bigShipSound : Sound = BigShipSound as Sound;
bigShipSound.play(0, 20);
Run Code Online (Sandbox Code Playgroud)


k10*_*107 7

你可以使用一个图书馆

http://code.google.com/p/as3wavsound/