簡體   English   中英

通過揚聲器播放來自麥克風的音頻

[英]Play Audio from Microphone through Speakers

我想知道如何在 Java 中最好使用DataLine從麥克風捕獲音頻,並將其直接播放到揚聲器,即使有一些延遲。

基本上,我希望能夠從麥克風中獲取音頻,存儲有限數量樣本的緩沖區,能夠以某種方式修改每個樣本,並通過揚聲器以盡可能短的時間播放每個樣本在錄制和播放之間。 有點像編寫 Java 程序來將我的計算機用作效果踏板; 這可能嗎?(假設我已經知道如何修改樣本)。 明確地說,我不想從麥克風中錄制有限數量的樣本,停止錄制,修改,然后播放; 我希望它能夠連續錄制和播放。

這是從TargetDataLine讀取到字節緩沖區,然后無限期地將其寫入SourceDataLine的問題。

由此產生的延遲將高度依賴於您使用的音頻緩沖區的大小。 緩沖區越大,延遲就越大。

此處查看 AudioLoop 示例。

暫無
暫無

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

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