首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java转换AudioFormat

Java转换AudioFormat
EN

Stack Overflow用户
提问于 2017-03-27 22:43:00
回答 1查看 966关注 0票数 1

我想做的是,我是通过TargetDataLine类从麦克风捕捉音频,用套接字发送它,并通过SourceDataLine在另一边播放。问题是我用的麦克风只支持:

代码语言:javascript
复制
AudioFormat format = new AudioFormat(48000, 16, 1, true, true);

我演的演讲者只支持:

代码语言:javascript
复制
AudioFormat format = new AudioFormat(32000, 16, 2, true, true);

当我直接得到48千赫,并将它推到32千赫音频格式,声音是倾斜的,有没有办法将48千赫单声道声音转换为32千赫立体声?

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 21:10:10

如果Java有一些内置的音频文件格式转换,您可以从音频教程线程上的"使用文件和格式转换器“文章中了解到这一点。

如果必须手动完成,请查看该页上的第一个代码示例,尤其要注意注释的要点。

//在这里,对// audioBytes数组中的音频数据做一些有用的事情.

如果您并行运行输入和输出行,则可以使用线性插值从48000行获取数据并将其发送到32000行。比例为3:2。

因此,对于输入中的3个PCM数据点,计算输出的2个PCM数据点。

对于输入,您将发送到out,并将in1/2和in 2/2的和发送到out1

复制从单声道转换为立体声的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43057662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档