java音频处理问题

java音频处理问题,第1张

为什么audioFormatgetChannels(), 一次后还要再一个audioFormatgetChannels()2

每声道每帧字节数2字节,再加上双声道所以用声道数(2)字节数(2) = 每帧的总字节数

看来你的audioFormat不是从AudioInputStream中产生的啊?刚才回答你的问题我还没注意。原来audioFormat也可以new出来的啊,嘿嘿。

JAVA声音

API进一步描述三种设备子界面:

InputDevice

InputDevice界面提供一个方法getInputChannel来获得一个InputChannel对象,从中捕获可读的音频数据。

OutputDevice

OutputDevice界面提供一个方法getOutputChannel来获得一个OutputChannel对象,音频数据可以写入该输出通道,并予播放。

Mixer

Mixer支持多个InputChannel和/或Clip。

另外,它提供了查询方法,从中可得到它所支持的通道数量,它也提供了支持同步暂停和唤醒多个通道播放的方法。

控件

通道和音频端口

(比如扬声器和麦克风)一般能支持一组控件比如增益和定位。通过将它的类作为参数传给getControl()方法,JAVA声音

API的通道对象和端口对象可以获得一个特别的控件。

编码器

Codecs可以对音频数据编码和解码,允许在不同格式和编码之间转换。JAVA声音

API通过AudioSystem类中的方法为这些转换提供了高级接口。如果给了一个特殊的

音频流

,应用程序会查询音频系统来找到相应的转换,从而得到指定格式的音频流。

文件和流

音频流是与音频数据格式和数据长度相关的

输入流

文件流

是与文件类型和数据长度相关的输入流。JAVA声音

API在AudioSystem类中为音频文件和音频流之间的转换提供了接口。

查询和访问安装组件

AudioSystem类充当到采样音频系统资源入口的角色。该类允许程序员查询和访问输入设备、

输出设备

以及安装好的混音设备。另外,AudioSystem包含许多在不同音频数据格式间转换的方法。它也提供一些方法,使得在不需要对设备直接 *** 作的情况下,直接获得输入通道或输出通道。

你可以试试做

用io流吧 使用字节流 把两个文件先后读取然后存放到一个文件中就可以了

使用ByteArrayInputStream流对象来读取数据

使用ByteArrayOutputStream流对象来写数据

以上就是关于java音频处理问题全部的内容,包括:java音频处理问题、怎么通过C#或JAVA得到从麦克风得到声音或它的声频文件、用java代码将两段音频拼成一段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9550550.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存