gpt4 book ai didi

java - java中的独立 channel

转载 作者:行者123 更新时间:2023-12-03 02:04:41 25 4
gpt4 key购买 nike

该软件记录PC的声音(带有targetdataline),但我无法在Java中分离两个 channel (立体声)......

例如:我用一根音频线(立体声)将一个 ipod 和一个 iphone 连接到我的 PC,ipod 在右声道,iphone 在左声道。所以我希望能够录制右声道或左声道。在我录制的那一刻,我在同一个音频文件中有两种声音。

我的音频格式

float sampleRate = 8000.0F; // 8000,11025,16000,22050,44100  int
sampleSizeInBits = 16; // 8,16 int channels = 2; // 1,2 boolean
signed = true; // true,false boolean bigEndian = false; // true,false
return new AudioFormat(sampleRate, sampleSizeInBits, channels,
signed,bigEndian);

并用“TargetDataLine”写我的文件例如:
targetDataLine.open(audioFormat);  
targetDataLine.start();
AudioSystem.write(new AudioInputStream(targetDataLine), fileType,
audioFile);

有人有想法吗?

最佳答案

您可以在 targetDataLine 上设置 channels=1 并使用它来读取特定 channel 上的数据。每当您需要特定 channel 上的音频时,您都可以根据读取信息的位置知道要读取的内容。将音频数据保存在 byte[] 中是最合适的,因为您可以选择从 byte[] 读取的数据。我建议您再次查看 sound.sampled 并决定如何处理它。我的系统麦克风有问题,我会查看这段代码。

关于java - java中的独立 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28592046/

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