0
我一直在生成動態音頻循環剪輯 並更新它的緩衝區。Java 7更新25:動態音頻不再在本地小程序中工作。有沒有其他方法?
隨着Java更新7 25(2013年6月18日),該剪輯不再播放 對其緩衝區所做的更改,但僅循環其原始內容。 在下面的片段中,如果測試== 0,則播放白噪聲,但如果 測試== 1則播放白噪聲。它曾經以兩種方式播放噪音,並且在作爲控制檯應用程序而不是本地小程序運行 時仍然會發揮作用。
我真的需要在剪輯打開後更新緩衝區:幾個 軟件突然無聲。有沒有其他(或正確的)方式來做到這一點?提前致謝。
AudioFormat.Encoding enc = new AudioFormat.Encoding("PCM_SIGNED");
AudioFormat frmt = new AudioFormat(enc, 22050, 16, 2, 4, 22050, false);
DataLine.Info info = new DataLine.Info(Clip.class, frmt);
Clip loop_clip;
int size = 8192;
byte[] sound_buf = new byte[size];
for (int i = 0; i < size; i++)
sound_buf[i] = 0;
int test = 1;
if (test == 0)
for (int i = 0; i < size; i++)
sound_buf[i] = (byte) (Math.random() * 256);
try {
loop_clip = (Clip) AudioSystem.getLine(info);
loop_clip.open(frmt, sound_buf, 0, size);
} catch (LineUnavailableException e) {
e.printStackTrace();
return;
}
if (test == 1)
for (int i = 0; i < size; i++)
sound_buf[i] = (byte) (Math.random() * 256);
loop_clip.setLoopPoints(0, -1);
loop_clip.loop(999);
這是我在過去幾個小時中看到的第二個問題,提到u25的多媒體問題:/什麼操作系統? – fge
to @fge:Win 7 32 bit – Brad
爲了儘快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –