我有幾個原始PCM音頻文件。我可以成功地從這些文件中讀取一串字節,並通過接受PCM數據作爲輸入的音頻播放機制播放它們。PCM字節陣列添加
當我從這些文件中讀取數據時,我將它存儲在byte []中。這些軌道具有相同的尺寸,並且在聲音方面互補(它們聽起來很好)。因此,我想將包含PCM數據的幾個字節[]添加到相同大小的單個字節[]中,表示最終的音樂。
我試圖在一個簡單輕率的方式,通過簡單地做這樣的:
for(int i=0; i<finalbytes.length; i++)
{
finalbytes[i] = (byte) (music1bytes[i] + music2bytes[i]);
}
它實際上不是那麼糟糕。最後的聲音確實是兩個軌道的添加。問題是,當添加一些曲目時,有時在歌曲的特定部分,可以聽到靜態噪音的峯值。這可能是由於添加導致了非鉗位值或某些東西,我不知道如何解決。
那麼,如何添加兩個或多個字節數組的PCM數據?