簡體   English   中英

Java 在另一個音頻上播放相同的音頻

[英]Java playing the same audio over the another one

我正在制作一個游戲,菜單中的鼠標懸停在聲音上。 然而,第二次播放聲音時,第一個還沒有完成,第二個切第一個。 有沒有辦法解決這個問題?

public static AudioClip menuMouseOver; //creating the audioClip
menuMouseOver = Applet.newAudioClip(new File(soundsLocation+"\\menuMouseOver.wav").toURL()); //loading the sound into the audioClip
menuMouseOver.play(); //calling the audioClip to play.

AudioClipClipSourceDataLine未設置為並發播放。 可以從一個通用的.wav文件創建多個 AudioClips 或 Clips,Java 的音頻系統會將它們混合在一起。 但是,在這種情況下,您必須在內存中保存多個音頻副本,並且音頻非常龐大。

但是編碼單個音頻文件的並發播放並不是特別棘手。 一個相對簡單的計划是在內存中加載文件的單個副本,然后創建和管理多個“游標”,這些“游標”索引到該內存區域以供您播放。 來自每個“光標”的音頻數據可以添加在一起並通過SourceDataLine輸出。

這是我用於AudioCue的計划,它是一種超級Clip ,允許實時音量、平移和音高變化以及並發播放。 我相信TinySound是另一個支持並發播放的音頻庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM