我正在尝试通过Flash Player 10的新实时音频功能播放一些示例数据。我开始使用在this页面底部给出的关于livedocs的示例,这似乎工作正常,语调清晰。
我假设示例中的两个writeFloat
分别写入左右音频通道,并且写入的数据是32位(因为浮点数)。
然而。我似乎无法将旧的8位音频数据转换为此接口所理解的格式。当我播放我的样本数据时,我可以模糊地听到我期待的声音,但它却被大量扭曲。我的样本数据由原始的8位样本组成,范围从0..255,其中127是静默。
我一直在尝试不同的转换公式,但我似乎缺少一些有关此转换的重要信息。
非常感谢任何帮助。
更新
正确的公式结果是:
f = (sample.data.readByte() - 127) / 255
答案 0 :(得分:2)
尝试转换var newSample:Number =(Number(oldSample)-127.0)/127.0;
答案 1 :(得分:1)
确保正确读取8位数据。如果您使用的是ByteArray类,则使用readUnsignedByte(而不是readByte)来获取0-255之间的值。然后使用MontyGomery建议的公式。