[英]How could I play two sounds together?
好吧,我正在用Java編寫一個游戲項目,我想實現這樣的東西:當一個對象開始移動時,它會產生一些聲音效果,而當另一個對象在第一個對象停止之前開始移動時,它也會產生一些聲音。效果。 在第二個對象開始移動之后而第一個對象停止移動之前,如何合並兩個對象的聲音,而不是分別播放它們?
其中大部分將使用java.sound.sampled
庫實現。 專注於Clip
的功能。 該站點使用樣本和MIDI文件提供了一些非常好的樣板。 它甚至有一個游戲示例。
無論如何,基於StackOverflow的javasound頁面 ,這是一次播放兩個Clip
的簡單示例:
public static void main(String... args) throws Exception {
URL url1 = new URL("http://www.websitewithsomewav/noise1.wav");
Clip clip1 = AudioSystem.getClip();
AudioInputStream stream1 = AudioSystem.getAudioInputStream(url1);
clip1.open(stream1);
URL url2 = new URL("http://www.websitewithsomewav/noise2.wav");
Clip clip2 = AudioSystem.getClip();
AudioInputStream stream2 = AudioSystem.getAudioInputStream(url2);
clip2.open(ais2);
clip1.loop(Clip.LOOP_CONTINUOUSLY);
clip2.loop(Clip.LOOP_CONTINUOUSLY);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// A GUI element to prevent the Clip's daemon Thread
// from terminating at the end of the main()
JOptionPane.showMessageDialog(null, "Close to exit!");
}
});
}
如果絕對必須使用單個輸入流,則可以嘗試MixingAudioInputStream
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.