电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问
javasound_第1页
1/36
javasound_第2页
2/36
javasound_第3页
3/36
JavaSound 体系结构 17.3 音频录制与播放--JavaSound Jav aSou nd 是一个小巧的低层API,支持数字音频和MIDI 数据的记录/回放。在JDK 1.3.0之前,Jav aSou nd 是一个标准的Jav a 扩展API,但从Jav a 2的1.3.0版开始,Jav aSou nd 就被包含到JDK 之中。由于Jav a 有着跨平台(操作系统、硬件平台)的特点,基于Jav aSou nd的音频处 理程序(包括本文的程序)能够在任何实现了 Jav a 1.3或更高版本的系统上运行,无须加装任何支持软件。 接下来我们将首先讲解 Jav aSou nd 的体系结构、音频输入/输出原理,然后讲解音频各种处理的方法。 音频的数据格式。 音频的录制。 音频的播放。 音频的保存。 最后通过两个实例程序演练 Jav aSou nd。 录音机程序。 MP3音乐播放器。 17.3.1 JavaSound 体系结构 使用 Jav aSou nd API,可以实现各种基于声音的应用,例如声音录制、音乐播放、网络电话、音乐编辑等。Jav aSou nd API 又以各种解码和合成器 SPI(Serv ice Prov ider Interface ,服务提供者接口)为基础,实现各种音乐格式的解码与转码。 它们之间的关系如图17-5所示。 图17-5 Jav aSou nd 体系结构 SPI 的作用是以插件(Plu g-In)的形式提供自定义的扩展模块,我们只要提供与SPI 兼容的插件扩展模块,就可以在不改变 API 的情况下扩展 音频处理程序的能力。例如,假设有一个只能播放WAV 文件的程序,我们只要增加一个支持MP3文件解码的插件模块,就可以在不改动播放程序的任何一行代码 的前提下,为这个播放程序添加播放MP3的能力。在后文的MP3音乐播放器程序中我们将演示该模块的安装与使用。 JavaSound API 包含在 javax.sound.sampled 和 javax.sound.midi 包中,分别用以处理数字音频simpled-audio 和 MIDI。SPI 包含在 java.sound.sampled.spi 和 javax.sound.midi.spi 包中,提供了第三方的扩展接口。 17.3.2 音频输入/输出原理 17.3.2 音频输入/输出原理 音频的输入和输出需要分别使用类TargetDataLine 和Sou rceDataLine,分别代表了输入和输出的设备,它们都实现了Line 接口。Lin e 接口用来关闭/打开设备、注册事件监听器,以及提供一些用来调整声音效果的对象,例如调整音量大小的对象。Au dioSy stem 在 Jav aSou nd体系中起着一个工厂(Factory )类的作用,提供了一系列的静态方法,我们通过这些静态方法来获取 Jav...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部