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