java游戏开发学习情境5音乐播放器设计

java游戏开发学习情境5音乐播放器设计

ID:36206458

大小:1.12 MB

页数:29页

时间:2019-05-07

java游戏开发学习情境5音乐播放器设计_第1页
java游戏开发学习情境5音乐播放器设计_第2页
java游戏开发学习情境5音乐播放器设计_第3页
java游戏开发学习情境5音乐播放器设计_第4页
java游戏开发学习情境5音乐播放器设计_第5页
资源描述:

《java游戏开发学习情境5音乐播放器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java游戏开发 学习情境5:音乐播放器设计08游戏3-2目标与任务目标:为游戏添加音效,能够用Java加载、播放游戏中的声音文件,并按要求控制播放。任务:用Java设计一个播放多种声音的程序。为电梯模拟游戏添加背景音乐。学习过程项目核心功能扩展应用升级教师学生提供:声音播放案例模仿完成:声音播放案例提供:多个声音列表播放关键代码协作完成:多个声音列表播放提供:电梯游戏的声音和界面协作完成:电梯游戏的音效处理Java支持的音频文件格式AU文件格式WAV文件格式AIFF文件格式MIDI文件格式声音文件有很多格式AU声音文件这是Java语言最早的

2、声音格式,扩展名为AU或SND,适用于短的声音文件。AU类型文件使用的三种典型音频格式为:8位单声道采样频率为8KHz的μ-law类型、8位线性类型以及16位线性类型。WAV声音文件扩展名为WAV,由Microsoft和IBM共同开发,Windows9X系统都支持此格式。AIFF声音文件扩展名为AIF或IEF,是Macintosh公司和SGI公司所共用的标准音频文件格式。MIDI声音文件扩展名为MID,是音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。Java2平台支持三种类型的MIDI文件公式,它们分别为MIDI文件类型O、

3、MIDI文件类型1以及RMF。与声音处理有关的包和类java.applet.Appletjavax.sound.midijavax.sound.midi.spijavax.sound.sampledjavax.sound.sampled.spijavax.sound.midi包,为I/O、序列化和MIDI数据的合成提供接口和类。javax.sound.midi.spi包,为新MIDI设备、MIDI文件阅读器和编写器等的实现提供接口。javax.sound.sampled包,为捕获、处理和播放音频数据提供接口和类。javax.sound.sam

4、pled.spi包,为新音频设备、声音文件阅读器和编写器或音频格式转换提供抽象类。与声音处理有关的包和类在Applet类播放声音使用play()方法装载与播放声音。格式如下:1、voidplay(URLurl) 2、voidplay(URLurl,Stringname)一旦play()方法装载了声音文件就立即播放。如果找不到,play()方法不返回出错信息,反应到用户端就是听不到声音。play()方法只播放一遍声音文件重复播放声音如果需要重复播放某个声音文件,就需要使用AudioClip接口提供的方法。AudioClip接口提供播放声音片段的

5、方法。多个AudioClip项可以在同一时间播放,从而产生声音混合的效果。项目核心一个基本的使用Applet类提供的方法播放声音文件的例子,运行结果如图所示:步骤一:创建一个Applet小程序(1)通过继承Applet类来创建一个有三个按钮的容器importjava.applet.*;publicclassmAudioextendsApplet{}(2)定义成员属性包含3个成员属性,分别表示播放的声音的URL相对地址,当前播放的音频流和声音播放状态。步骤一:创建一个Applet小程序(3)在Applet的子类中覆盖Applet类的init()

6、方法init()是java.applet.Applet类中的方法,当applet程序首次被打开时,会执行此方法定义的程序代码。当applet程序首次被打开时,init()将第一个被自动执行。在其中调用getAudioClip来初始化当前要播放的音频流:audio=getAudioClip(newURL(getDocumentBase(),hurl));步骤二:对Applet容器中的按钮动作进行事件处理(1)为Applet容器添加按钮动作监听器由于要对Applet容器中发生的三种按钮按下事件进行分别响应,可以直接在init()方法中对三个按钮添

7、加语句:addActionListener(this);(2)实现ActionListener接口publicclassmAudioextendsAppletimplementsActionListener{publicvoidactionPerformed(ActionEvente) {…}}步骤一:创建一个Applet小程序这里需要根据事件源即按钮的不同作出分别动作,可以通过e.getActionCommand()来判断是哪个按钮被按下。AudioClip类中的play,stop,loop方法分别对应播放、停止和循环播放功能。功能扩展在上

8、面程序的基础上要求增加一套按钮用于播放另一个音乐,2个音乐可以同时播放,制造一种混音效果。运行情况如下:扩展步骤一:增加一套按钮定义令一组成员属性包含新的3个成员属

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。