JavaSound:提取立体声音频的一个 channel

标签 java audio javasound

我有一个立体声波形文件,我需要仅读取和播放选定的 channel 。实现这一目标的最佳方法是什么?

最佳答案

当您通过 AudioInputStream 引入 wav 文件时,请使用 AudioFileFormat 信息将字节转换为 PCM。左右数据交替。因此,如果线路是 16 位,则每帧将有 4 个字节。前两个将组装到左 channel 中,后两个将组装到右 channel 中。 (反之亦然——我很难记住哪个 channel 是左还是右。)

这是一个很好的教程,其中包含有关如何读取一行的示例: http://docs.oracle.com/javase/tutorial/sound/converters.html

可能需要一些早期教程来帮助澄清。另外,如果您对字节与 PCM 之间的转换有疑问,StackOverflow 上已经有一些解释可供引用。找到它们应该不会太难。

关于JavaSound:提取立体声音频的一个 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25776803/

相关文章:

iphone - 修改SpeakHere以录制设备上播放的音频

java - Android:如何通过蓝牙连接传输视频和音频?

java - 从 Java Swing App 中的 URL 流式传输音频

java - 读取 mp3 二进制数据以进行可视化

java - 只允许某些类访问私有(private)变量的接口(interface)

java - 按长度获取可以重复的数字

ios - 使用 Swift 录制输出音频

java - 使用java将音频文件与文本匹配

java套接字等于方法

java - 取模未返回正确的值