我正在使用windows mmSystem.h生成幾個pcm文件。那麼他們不是文件,真的是字節數組。我想要做的是合併或複用這兩個流,以便在將聲音導出到wav文件之前重疊聲音。搜索每個人都提到使用ffmpeg的stackoverflow,但沒有人有任何示例代碼,他們只是使用帶有幾個標誌的fmpeg.exe。我更喜歡一個解決方案,它指出我可以使用除windows和ffmpeg中提供的其他任何第三方庫或sdk。混音兩個pcm流的音頻
感謝所有幫助
我正在使用windows mmSystem.h生成幾個pcm文件。那麼他們不是文件,真的是字節數組。我想要做的是合併或複用這兩個流,以便在將聲音導出到wav文件之前重疊聲音。搜索每個人都提到使用ffmpeg的stackoverflow,但沒有人有任何示例代碼,他們只是使用帶有幾個標誌的fmpeg.exe。我更喜歡一個解決方案,它指出我可以使用除windows和ffmpeg中提供的其他任何第三方庫或sdk。混音兩個pcm流的音頻
感謝所有幫助
如果你有一個字節數組,你必須首先轉換那些字節數組轉換爲正確的採樣格式,如16位整數(簡寫)。完成後,您可以選擇以下幾種方法:
數據的平均值,按樣本分類。
總結數據,逐個樣本,然後「剪切」超出範圍的任何樣本。
第一個選項是唯一正確的方法來做到這一點,而不會扭曲你的信號。
最後,您可能需要轉換回字節以保存到文件。
欲瞭解更多詳情,包括代碼,你可能想看到something more like a tutorial。
我想投票贊成,但我的代表不夠高,所以我希望謝謝。 – user1881587
假設兩個流具有相同的採樣率和比特/採樣,你可以再補充樣本:
merged[n] = streama[n] + streamb[n];
你的意思是你有兩個單聲道流,你想混合它們作爲立體聲?或者您想用新樣本覆蓋現有頻道? –
我想覆蓋它們。 – user1881587