Flash Player 10实时音频播放

Flash Player 10实时音频播放,flash,actionscript-3,actionscript,audio,Flash,Actionscript 3,Actionscript,Audio,我正试图通过Flash Player 10的新实时音频功能播放一些示例数据。我从livedocs页面底部给出的示例开始,该示例似乎运行良好,并显示出清晰的基调 我假设示例中的两个writeFloat分别写入左声道和右声道,并且写入的数据是32位的(因为浮点) 不过。我似乎很难将旧的8位音频数据转换为该接口可以理解的格式。当我回放我的样本数据时,我能隐约听到我期望的声音,但它被严重扭曲了。我的样本数据由原始8位样本组成,范围为0..255,其中127为静默 我一直在尝试不同的转换公式,但我似乎遗漏

我正试图通过Flash Player 10的新实时音频功能播放一些示例数据。我从livedocs页面底部给出的示例开始,该示例似乎运行良好,并显示出清晰的基调

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

不过。我似乎很难将旧的8位音频数据转换为该接口可以理解的格式。当我回放我的样本数据时,我能隐约听到我期望的声音,但它被严重扭曲了。我的样本数据由原始8位样本组成,范围为0..255,其中127为静默

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

非常感谢您的帮助

更新:

正确的公式是:

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

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

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

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

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