我有一种情况,我需要从录制剪辑的开头修剪少量音频(通常在 110-150 毫秒之间,这是一个不一致的数量)。
我正在以 44100 频率和 16 比特率录制。这是我正在使用的代码:
public function get trimmedData():ByteArray {
var ba:ByteArray = new ByteArray();
var bitPosition:uint = 44100 * 16 * (recordGap / 1000);
bitPosition -= int(bitPosition % 16); //should keep snapped to nearest sample, I hope
ba.writeBytes(_rawData, (bitPosition / 8));
return ba;
}
这似乎在时间上有效,但所有录制的音频都变得静态和粗糙。我的四舍五入有问题吗?这是我第一次需要更改原始 PCM 数据,所以我不确定它的细节。
谢谢!