gpt4 book ai didi

使用特定端口和数据线的 Java Sound

转载 作者:行者123 更新时间:2023-11-29 09:03:57 29 4
gpt4 key购买 nike

这感觉像是我在这个网站上提出的第 100 个 Java Sound 相关问题,但我无法在 Java Sound API 或 jsresources.org 的任何地方找到答案。我正在制作一个多轨录音机,到目前为止它工作得很好,比预期的要好得多,我目前遇到的问题是允许用户在运行时为每个轨道选择一个输入。现在,我的程序仅从 Mixer 获取可用的 TargetDataLine,并且我能够在录音期间控制音量以及平衡。如果我列出 Ports 并允许用户选择特定的 Port,例如笔记本电脑中的内部麦克风,我如何获得 TargetDataLine用于录制的特定端口?是否需要关闭所有未使用的 Ports

我还刚刚注意到,当列出 Ports 源是指输入和目标输出时,我只是习惯了 DataLines 是相反的,如果有人可以澄清我不胜感激。

理解 PortsDataLines 之间的关系可能有助于解决我当前的问题,我知道这两者是什么,但我不明白为什么不能像调音台那样从Port 得到DataLine,那么这两者有什么关系呢?

最佳答案

你已经超越了我的尝试,但也许我还能帮上点忙!

您是否看到了端口和数据线之间差异的总结? http://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/package-summary.html

在我看来,给定的端口只能与 SourceDataLine 或 TargetDataLine 中的一个一起工作,具体取决于它是输入端口还是输出端口。

您是否也尝试过此处的示例? http://docs.oracle.com/javase/tutorial/sound/capturing.html

在我看来,由于端口扩展了线路,如果您将端口替换为线路(假设它是输入端口),则读取音频的示例代码应该可以工作。示例代码对您有用吗?

我猜想如果您要混合来自多个端口的声音,则需要解压缩声音数据,自行添加声音值并将它们重新打包为 PCM 样本(即,进行您自己的音频混合)对于单个输出线。

关于使用特定端口和数据线的 Java Sound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16002487/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com