2010-07-30 50 views
0

我有許多PCM編碼的聲音流(PCM_SIGNED 8000.0 Hz,16位,單聲道,2字節/幀,小端),我想通過網絡發送。爲了節省帶寬,我目前使用JSpeex編碼流。但爲了節省更多的帶寬,我希望(如果可能的話)在使用JSpeex編碼之前將這些多個流合併成一個流。我的DSP知識嚴重缺乏&我想知道如何結合Java中的流?在Java中結合多個聲音流

+0

你是什麼意思「將這些多個流合併爲一個流」?連接它們,一個接一個,或者什麼? – leonbloy 2010-07-30 17:43:06

+0

不要將它們組合起來,以便它們「疊加」彼此。基本上這是一個語音聊天服務器,它將接收來自所有連接客戶端的一羣語音流,將它們混合/組合成一個單一的流,然後將該單一流發回給所有客戶端。 – dbotha 2010-07-30 18:11:02

回答

0

我組合了多個音頻流與此MixingAudioInputStream。所提到的AudioConcat示例使用相同的類,它爲您提供了一個如何進行混音的好主意。

您將它傳遞給一個選定的格式和一個AudioInputStream對象列表,並將它們混合成一個混合的AudioInputStream,您可以將它們發送回客戶端。

我發現它可以很好地工作,只要你的輸入流的長度或多或少都是相同的長度。