Flash Player 10实时音频播放

时间:2009-07-13 22:53:46

标签: flash actionscript-3 actionscript audio

我正在尝试通过Flash Player 10的新实时音频功能播放一些示例数据。我开始使用在this页面底部给出的关于livedocs的示例,这似乎工作正常,语调清晰。

我假设示例中的两个writeFloat分别写入左右音频通道,并且写入的数据是32位(因为浮点数)。

然而。我似乎无法将旧的8位音频数据转换为此接口所理解的格式。当我播放我的样本数据时,我可以模糊地听到我期待的声音,但它却被大量扭曲。我的样本数据由原始的8位样本组成,范围从0..255,其中127是静默。

我一直在尝试不同的转换公式,但我似乎缺少一些有关此转换的重要信息。

非常感谢任何帮助。

更新

正确的公式结果是:

f = (sample.data.readByte() - 127) / 255

2 个答案:

答案 0 :(得分:2)

尝试转换var newSample:Number =(Number(oldSample)-127.0)/127.0;

答案 1 :(得分:1)

确保正确读取8位数据。如果您使用的是ByteArray类,则使用readUnsignedByte(而不是readByte)来获取0-255之间的值。然后使用MontyGomery建议的公式。