为了账号安全,请及时绑定邮箱和手机立即绑定

如何录制麦克风的声音?

如何录制麦克风的声音?

慕标5832272 2023-05-24 17:34:19
我想弄清楚如何使用我的 MacBookPro 从麦克风录制声音。我不确定这是代码问题还是 MacOS 中的隐藏权限问题。我已经完成了大部分教程并尝试了各种不同的解决方案,以至于我创建了下面的测试用例。public class AudioLinesTester {    private static final Logger LOGGER = LoggerFactory.getLogger(AudioLinesTester.class);    public static void main(String[] args) {        LOGGER.debug("Starting Line tester");        AudioFormat format = new AudioFormat(8000.0f, 8, 1, true, true);        Mixer.Info[] infos = AudioSystem.getMixerInfo();        Map<Line.Info, byte[]> sounds = new HashMap<Line.Info, byte[]>();        Stream.of(infos).forEach(mixerInfo -> {            Mixer mixer = AudioSystem.getMixer(mixerInfo);            Line.Info[] lineInfos = mixer.getTargetLineInfo();            if (lineInfos.length > 0 && lineInfos[0].getLineClass().equals(TargetDataLine.class)) {                // The name of the AudioDevice                LOGGER.debug("Line Name: {}", mixerInfo.getName());                // The type of audio device                LOGGER.debug("Line Description: {}", mixerInfo.getDescription());                for (Line.Info lineInfo : lineInfos) {                    LOGGER.debug("\t---{}", lineInfo);                    Line line;                    try {                        line = mixer.getLine(lineInfo);                        TargetDataLine microphone = AudioSystem.getTargetDataLine(format, mixerInfo);                        microphone.open(format, 100352);                        LOGGER.debug("Listening on {}", microphone);                        ByteArrayOutputStream out = new ByteArrayOutputStream();                        int numBytesRead;                        int CHUNK_SIZE = 1024;                        byte[] data = new byte[microphone.getBufferSize() / 5];                        microphone.start();                        int bytesRead = 0;                        我希望从某些东西中得到一些输出,但我只是得到填充有 0 的字节数组。有人能帮忙吗?
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

好吧,在与笔记本电脑进行了多次来回交互之后...解决方案是安装新版本的 Eclipse,此时 Mac 询问我是否要允许 Java 权限访问麦克风.

希望这会帮助那里的人。


查看完整回答
反对 回复 2023-05-24
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信