




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java游戏开发学习情境5:音乐播放器设计,083-2,目标与任务,目标:为游戏添加音效,能够用Java加载、播放游戏中的声音文件,并按要求控制播放。任务:用Java设计一个播放多种声音的程序。为电梯模拟游戏添加背景音乐。,学习过程,项目核心,功能扩展,应用升级,教师,学生,提供:声音播放案例,模仿完成:声音播放案例,提供:多个声音列表播放关键代码,协作完成:多个声音列表播放,提供:电梯游戏的声音和界面,协作完成:电梯游戏的音效处理,Java支持的音频文件格式,AU文件格式WAV文件格式AIFF文件格式MIDI文件格式,声音文件有很多格式,AU声音文件,这是Java语言最早的声音格式,扩展名为AU或SND,适用于短的声音文件。AU类型文件使用的三种典型音频格式为:8位单声道采样频率为8KHz的-law类型、8位线性类型以及16位线性类型。,WAV声音文件,扩展名为WAV,由Microsoft和IBM共同开发,Windows9X系统都支持此格式。,AIFF声音文件,扩展名为AIF或IEF,是Macintosh公司和SGI公司所共用的标准音频文件格式。,MIDI声音文件,扩展名为MID,是音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。Java2平台支持三种类型的MIDI文件公式,它们分别为MIDI文件类型O、MIDI文件类型1以及RMF。,与声音处理有关的包和类,java.applet.Appletjavax.sound.midijavax.sound.midi.spijavax.sound.sampledjavax.sound.sampled.spi,javax.sound.midi包,为I/O、序列化和MIDI数据的合成提供接口和类。javax.sound.midi.spi包,为新MIDI设备、MIDI文件阅读器和编写器等的实现提供接口。javax.sound.sampled包,为捕获、处理和播放音频数据提供接口和类。javax.sound.sampled.spi包,为新音频设备、声音文件阅读器和编写器或音频格式转换提供抽象类。,与声音处理有关的包和类,在Applet类播放声音,使用play()方法装载与播放声音。格式如下:1、voidplay(URLurl)2、voidplay(URLurl,Stringname)一旦play()方法装载了声音文件就立即播放。如果找不到,play()方法不返回出错信息,反应到用户端就是听不到声音。play()方法只播放一遍声音文件,重复播放声音,如果需要重复播放某个声音文件,就需要使用AudioClip接口提供的方法。AudioClip接口提供播放声音片段的方法。多个AudioClip项可以在同一时间播放,从而产生声音混合的效果。,项目核心,一个基本的使用Applet类提供的方法播放声音文件的例子,运行结果如图所示:,步骤一:创建一个Applet小程序,(1)通过继承Applet类来创建一个有三个按钮的容器importjava.applet.*;publicclassmAudioextendsApplet(2)定义成员属性包含3个成员属性,分别表示播放的声音的URL相对地址,当前播放的音频流和声音播放状态。,步骤一:创建一个Applet小程序,(3)在Applet的子类中覆盖Applet类的init()方法init()是java.applet.Applet类中的方法,当applet程序首次被打开时,会执行此方法定义的程序代码。当applet程序首次被打开时,init()将第一个被自动执行。在其中调用getAudioClip来初始化当前要播放的音频流:audio=getAudioClip(newURL(getDocumentBase(),hurl);,步骤二:对Applet容器中的按钮动作进行事件处理,(1)为Applet容器添加按钮动作监听器由于要对Applet容器中发生的三种按钮按下事件进行分别响应,可以直接在init()方法中对三个按钮添加语句:addActionListener(this);(2)实现ActionListener接口publicclassmAudioextendsAppletimplementsActionListenerpublicvoidactionPerformed(ActionEvente),步骤一:创建一个Applet小程序,这里需要根据事件源即按钮的不同作出分别动作,可以通过e.getActionCommand()来判断是哪个按钮被按下。AudioClip类中的play,stop,loop方法分别对应播放、停止和循环播放功能。,功能扩展,在上面程序的基础上要求增加一套按钮用于播放另一个音乐,2个音乐可以同时播放,制造一种混音效果。运行情况如下:,扩展步骤一:增加一套按钮,定义令一组成员属性包含新的3个成员属性,分别表示播放的第二段声音的URL相对地址,当前播放的音频流和声音播放状态。改写init()方法在其中调用getAudioClip来初始化另一个要播放的音频流:Audio2=getAudioClip(newURL(getDocumentBase(),hurl2);并且添加一套新按钮,重新布局。,扩展步骤二:对Applet容器中的按钮重新进行事件处理,为Applet容器中的新按钮添加事件监听器由于要对Applet容器中发生的三种按钮按下事件进行分别响应,可以直接在init()方法中对三个按钮添加语句:addActionListener(this);(4)实现ActionListener接口,在actionPerformed方法中对六个事件源作出相应publicclassmAudioextendsAppletimplementsActionListenerpublicvoidactionPerformed(ActionEvente),完成情况评价标准,完成(1)-(4),得到最终结果的正确输出,100分。完成(1)-(3),正确生成菜单,80分。完成(1)-(2),正确生成菜单,60分。,功能扩展之案例二,编写一个applet让用户从几个音频片段中选择来播放,程序运行画面如下:,功能扩展之案例二,/程序中声音的名字publicfinalStringAUDIO=ping,pop,return,salvation,shuffle,squish;/包含上述字符串数组的下拉框privateChoicechoice;/真实的音频片段数据privateAudioClipclips;,功能扩展之案例二,/控制播放停止的按钮privateButtonplayClip;privateButtonloopClip;privateButtonstopClip;privateButtonstopAllClips;/跟踪当前哪些音频片段在播放privatebooleanclipsPlaying;,应用升级,问题陈述:在电梯系统的模拟程序里,公司要求在模拟中加入声音。例如,当一个人走路时,应能听到脚步声。每当按下或者复位一个楼层按钮或者电梯按钮时,应当听到单击声。电梯到达时铃声应当响起,且在门打开时或者关上时,门应当吱吱作响。最后,当电梯在楼层间运行时,应播放“电梯音乐”。,应用升级,解决思路:编写类SoundEffects,将声音文件转换成java.applet.AudioClip对象,关键代码,tryreturnApplet.newAudioClip(getClass().getResource(prefix+soundFile);/returnnullifsoundFiledoesnotexistcatch(NullPointerExceptionnullPointerException)returnnull;,应用升级,类SoundEffects包含方法getAudioClip,该方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版汽车过桥借款服务协议
- 2025广东云浮罗定市人民医院招聘医疗卫生人才3人(第二批)考试模拟试题及答案解析
- 2025福建长沙市开福区青竹湖街道社区卫生服务中心招聘卫生专业技术临聘人员4人考试模拟试题及答案解析
- 2025广西北海银滩开发投资股份有限公司公开招聘5人考试参考题库附答案解析
- 2025广东中山兴坦食品有限责任公司招聘工作人员3人考试参考题库附答案解析
- (2025年标准)学生代培协议书
- 2025年秋宣恩县城区学校公开选聘71名县内在编教师笔试模拟试题及答案解析
- 2025年甘肃甘南玛曲县支持1万名基层就业项目专场暨高校毕业生等青年就业创业宣传现场招聘会考试备考题库及答案解析
- 2025中国建筑总部招聘笔试备考试题及答案解析
- 2025福建厦门工学院行政进修学院办公室主任招聘1人考试参考题库附答案解析
- 高一1学生情况调查表
- 涂料用常用树脂课件
- 医院类建筑室内装饰装修施工关键技术
- 滇中引水工程
- 准东-华东±1100kv特高压直流输电线路工程杆塔设计原则
- krones旋盖系统控制原理及参数设定
- GB/T 708-2019冷轧钢板和钢带的尺寸、外形、重量及允许偏差
- GB 15630-1995消防安全标志设置要求
- 实习协议模板(最新版)
- 《新视野大学英语预备级1》教案
- 车间拆除及场地土壤治理与地下水修复工程项目技术方案工程方案和设备方案
评论
0/150
提交评论