【问题标题】:How to select a microphone in Javasound?如何在 Javasound 中选择麦克风?
【发布时间】:2013-11-11 06:39:48
【问题描述】:

Javasound 如何处理多个麦克风?是否可以选择多个麦克风之一?如何确定正在使用哪个麦克风? Java虚拟机甚至可以处理多个麦克风的输入吗?最后,这种方法是跨操作系统标准化的,还是操作系统会影响 JVM 听到的内容。这是我目前用来从麦克风生成 TargetDataLine 的代码。

DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, getAudioFormat());
setTargetDataLine((TargetDataLine) AudioSystem.getLine(dataLineInfo));

【问题讨论】:

  • 你看过oracle文档吗?我写了一个可以使用这个 api 录制声音的小应用程序,它确实可以让你从多个麦克风中选择一个,尽管很难确定你想要哪一个。
  • 示例代码?我通读了一遍,老实说,我几乎不明白这两行代码中发生了什么,更不用说 API 中更复杂的部分了
  • 这里是项目的源代码 -github.com/Sammons/SoundOut 我认为工作主要是主和麦克风。

标签: java audio-recording microphone javasound


【解决方案1】:

我相信区分不同的麦克风输入取决于这些麦克风是否通过它们自己的线路或端口暴露给 Java。

名为Accessing Audio System Resources 的教程部分将为您提供识别Java 能够“看到”什么的方法。这是概述介绍之后的第一个主要部分。如果您列出每个信息,希望您能够识别每条麦克风线(假设您的声卡和操作系统配置为允许这样做)。

同意,音频教程是最难的教程之一!部分原因是音频很困难,它必须运行的各种操作系统以及干预的硬件和软件使音频变得复杂。不同的声卡和操作系统组合可以以不同的方式工作。在某个阶段,他们必须向 Java 公开线路或端口。我不知道有任何多路复用系统(两个或多个麦克风以某种方式共享一条线路或端口)。我也不清楚你需要关注的是线路还是端口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    相关资源
    最近更新 更多