如何录制麦克风的声音? | 您所在的位置:网站首页 › 直播源码录制怎么弄 › 如何录制麦克风的声音? |
我想弄清楚如何使用我的 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 sounds = new HashMap(); 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 的字节数组。 有人能帮忙吗? |
CopyRight 2018-2019 实验室设备网 版权所有 |