快速业务通道

Java声音技术详解 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
我"是一部早期的MTV巨作。整个80年代,他都在不断地作曲和录音,使用一种非结构化音乐制作软件。但是在 1990,通过一次为Guggenheim博物馆演示虚拟现实的合作,他开始思考能否做一些提高音乐制作能力的工作。

"我当时正伏在 C程序员的肩上,并且我突然认识到为做记录做了大量的工作,可是没有为演奏时的交互做任何事情。"有了这样的想法,Robertson在1992年建立了Headspace,雇用月光作曲组来帮助实现他的观点。Headspace于1996年成为公司,现在被称为Beatnik。

Java声音技术详解(2)

时间:2010-12-13

JAVA声音音频引擎

JAVA声音引擎为多媒体创建,同时考虑了游戏设计和发布WEB内容。用标准的 MIDI文件、RMF文件、并且/或来自任何源的采样,该引擎将播放音乐或制造音响效果,同时尽可能少用CPU。它提供完全的播放控制,具有混合音响的能力并可实时地回应用户的输入。

JAVA声音引擎是软件 MIDI合成器,采样播放设备,以及16位立体混声器。它支持混合直到64位的立体MIDI声音和音频采样。它直接支持MIDI类型0和类型1文件以及从8位设备到16位乐器的波表合成。该引擎支持所有通用的 MIDI控制器并且包含象回声处理, LFO (控制过滤器或立体声设备)之类的特性,以及ADSR信封 (播放时整形采样)。

即使用上所有的功能,JAVA声音引擎在一个90Mhz的奔腾计算机上也占用不超过30%的CPU时间。它还能通过有选择地禁用不需要的特性,使其变得更加高效一些。另外,它发布了存储在压缩的RMF音乐文件中的丰富的内容。Thomas Dolby Robertson的"她用科学照亮了我",一首7分21秒的歌曲,如存储为CD音质的文件足足占用70M字节空间。如果以RMF格式存储只需大约636 KB,是120:1的减少,同时丝毫不减音质。

JAVA平台声音的简要历史

在JDK 1.0.x及JDK 1.1.x下, AudioClip接口提供下列机能:

l AudioClip接口

播放

循环

停止

恢复和播放声音最简单的方法是通过Applet类的play()方法。调用play()方法有如下二种方式:

play()-带有一个参数,一个 URL对象,装载并演奏储存在 URL处的声音片断。

play()-带有二个参数,基本 URL和文件夹路径名,装载并演奏声音文件。第一参数经常是对getCodeBase()或 getDocumentBase()的调用。

下列代码片断举例说明了直接播放 hello.au的方法。AU文件与小应用程序位于相同文件夹或目录。

play(getCodeBase(), "hello.au");

play()一旦被调用立刻开始恢复和播放声音。如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。

启动和停止声音文件,或循环播放,你必须用 applet的 getAudioClip方法把它装载进入 AudioClip对象,类似上面play()方法的参数,getAudioClip方法要用一个或两个参数,当作播放的指示。 第一个或唯一的一个参数是 URL参数,用来指示声音文件的位置,第二参数是文件夹路径指针。

下列代码行举例说明加载声音文件进入剪贴对象:

AudioClip co = getAudioClip(getCodeBase(), "horns.wav");

getAudioClip()方法仅仅能被applet内调用。随着JAVA2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序:

AudioClip co = newAudioClip("horns.wav");

Java声音技术详解(3)

时间:2010-12-13

在你已创建 AudioClip对象之后,你能用该对象调用play()、loop()以及stop()方法。如果 getAudioClip或 newAudioClip方法不能找到指定的声音文件, AudioClip对象的值将是空的。试着播放空对象会导致出错,所以标准的过程首先是对该条件进行检测。

接下来是一个完整的程序设计示例,该程序将产生一个applet,当鼠标在该小应用程序applet范围内按下时会播放 flute+hrn+mrmba.au音乐样本。此AU

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号