决定不再按照章节顺序了,先挑自己感兴趣的看。
java.awt.Toolkit.beep()只能发出一个音频嘟嘟声,好像我以前编程时用过。
Java为播放内存中的简单音频提供了两种内置方法:applet中的AudioClips和JavaSound。(顺便可以复习下applet)。这一章后面介绍2中扩展方法:Java Media Framework(JMF)和QuickTime for Java(QTJ)。
applet运行方法:如果有main(), 则直接在命令行输入java XX,就当成一个普通的java程序,当然applet也是用小程序查看器打开的。 用浏览器查看,只需双击指定的网页。(注意,如果使用elipse开发,应该双击在bin目录下的网页。因为网页加载的applet的路径和网页在同一级目录下)
70、在Applet中播放音频
代码和思想都很简单。可是不知道为什么,用小程序查看器,可以正常选择和加载音乐,但不能正常播放。而用网页打开,所有的功能不正常。
继续看书,恍然大悟。applet如果没有许可文件或者没能指向更高强度的许可策略时,用户无法在applet中打开JFileChooser的。即便是手动输入URL并试图加载改URL,也会因为安全原因失败。只能通过访问远程服务器上的音频文件。
音频格式的支持与操作系统也有关。Mac不支持.au。AudioClip不能播放经过某种压缩WAV和AIFF音频文件。Mac和Windows都不支持MP3的AudioClip。难怪刚刚加载mp3文件失败。
71、使用JavaSound播放音频
JavaSound API是对于AudioClip的一种改进和补充。
居然又播放失败,因为JavaSound仅支持三种格式的文件:WAV、AIFF和AU。我又是用mp3在试。
72、使用JMF播放音频
JMF有一些优点,比如支持更多的文件格式(2.1.1e已经支持mp3格式了),编写代码更简单。缺点也有,性能虽平台变化很大(不知道那种平台性能最好,等会查查),终端用户需要单独安装JMF(有谁想去装呀,多麻烦)。
JMF主页:http://java.sun.com/products/java-media/jmf/index.jsp。可以从此下载到JMF并安装,不需重启。
73、使用JavaSound的QuickTime播放音频
支音频持类型更多,在http://www.apple.com/quicktime/products/qt/specifications.html 可以查到。看上去QuickTime还听好看的。可QuickTime目前只支持apple和Windows两种操作系统。
74、为JMF加入对mp3的支持(过时了,现在已经支持了,不需下载插件)
75、构建一个音频波形显示器
有些高级哈哈。还要计算采样什么的,又想起了计算机网络。算了,过两天去复习下那本书,今天老师说计算机网络也是最重要的基础课程之一。
76、播放复杂音频
播放大文件、大音频时用。
77、播放时显示音频文件信息
78、在回放时控制音频
感觉这一章最终应该可以自己做出个简单的播放器,就是模拟Media Player之类的。暂且先不做了,有空了再回来做。