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

上传人:沈*** 文档编号:243871319 上传时间:2024-10-01 格式:PPT 页数:29 大小:952KB
返回 下载 相关 举报
java 游戏开发学习情境5音乐播放器设计_第1页
第1页 / 共29页
java 游戏开发学习情境5音乐播放器设计_第2页
第2页 / 共29页
java 游戏开发学习情境5音乐播放器设计_第3页
第3页 / 共29页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,游戏开发学习情境,5,:音乐播放器设计,08,游戏,3-2,目标与任务,目标:,为游戏添加音效,能够用,Java,加载、播放游戏中的声音文件,并按要求控制播放。,任务:,用,Java,设计一个播放多种声音的程序。为电梯模拟游戏添加背景音乐。,学习过程,项目核心,功能扩展,应用升级,教师,学生,提供:,声音播放案例,模仿完成:,声音播放案例,提供:,多个声音列表,播放关键代码,协作完成:,多个声音列表,播放,提供:,电梯游戏的,声音和界面,协作完成:,电梯游戏的,音效处理,Java,支持的音频文件格式,AU,文件格式,WAV,文件格式,AIFF,文件格式,MIDI,文件格式,声音文件有很多格式,AU,声音文件,这是,Java,语言最早的声音格式,扩展名为,AU,或,SND,,适用于短的声音文件。,AU,类型文件使用的三种典型音频格式为:,8,位单声道采样频率为,8KHz,的,-law,类型、,8,位线性类型以及,16,位线性类型。,WAV,声音文件,扩展名为,WAV,,由,Microsoft,和,IBM,共同开发,,Windows 9X,系统都支持此格式。,AIFF,声音文件,扩展名为,AIF,或,IEF,,是,Macintosh,公司和,SGI,公司所共用的标准音频文件格式。,MIDI,声音文件,扩展名为,MID,,是音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。,Java 2,平台支持三种类型的,MIDI,文件公式,它们分别为,MIDI,文件类型,O,、,MIDI,文件类型,1,以及,RMF,。,与声音处理有关的包和类,java.applet.Applet,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.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,、,void play(URL url)2,、,void play(URL url,String name),一旦,play,()方法装载了声音文件就立即播放。如果找不到,,play,()方法不返回出错信息,反应到用户端就是听不到声音。,play,()方法只播放一遍声音文件,重复播放声音,如果需要重复播放某个声音文件,就需要使用,AudioClip,接口提供的方法。,AudioClip,接口提供播放声音片段的方法。,多个,AudioClip,项可以在同一时间播放,从而产生声音混合的效果。,项目核心,一个基本的使用,Applet,类提供的方法播放声音文件的例子,运行结果如图所示:,步骤一:创建一个,Applet,小程序,(1),通过继承,Applet,类来创建一个有三个按钮的容器,import java.applet.*;,public class mAudio extends Applet,(2),定义成员属性,包含,3,个成员属性,分别表示播放的声音的,URL,相对地址,当前播放的音频流和声音播放状态。,步骤一:创建一个,Applet,小程序,(3),在,Applet,的子类中覆盖,Applet,类的,init(),方法,init(),是,java.applet.Applet,类中的方法,当,applet,程序首次被打开时,会执行此方法定义的程序代码。当,applet,程序首次被打开时,,init(),将第一个被自动执行。,在其中调用,getAudioClip,来初始化当前要播放的音频流:,audio=getAudioClip(new URL(getDocumentBase(),hurl);,步骤二:对,Applet,容器中的按钮动作进行事件处理,(1),为,Applet,容器添加按钮动作监听器,由于要对,Applet,容器中发生的三种按钮按下事件进行分别响应,可以直接在,init(),方法中对三个按钮添加语句:,addActionListener(this);,(,2,)实现,ActionListener,接口,public class mAudio extends Applet implements ActionListener,public void actionPerformed(ActionEvent e),步骤一:创建一个,Applet,小程序,这里需要根据事件源即按钮的不同作出分别动作,可以通过,e.getActionCommand(),来判断是哪个按钮被按下。,AudioClip,类中的,play,stop,loop,方法分别对应播放、停止和循环播放功能。,功能扩展,在上面程序的基础上要求增加一套按钮用于播放另一个音乐,,2,个音乐可以同时播放,制造一种混音效果。运行情况如下:,扩展步骤一:增加一套按钮,定义令一组成员属性,包含新的,3,个成员属性,分别表示播放的第二段声音的,URL,相对地址,当前播放的音频流和声音播放状态。,改写,init(),方法,在其中调用,getAudioClip,来初始化另一个要播放的音频流:,Audio2=getAudioClip(new URL(getDocumentBase(),hurl2);,并且添加一套新按钮,重新布局。,扩展步骤二:对,Applet,容器中的按钮重新进行事件处理,为,Applet,容器中的新按钮添加事件监听器,由于要对,Applet,容器中发生的三种按钮按下事件进行分别响应,可以直接在,init(),方法中对三个按钮添加语句:,addActionListener(this);,(,4,)实现,ActionListener,接口,在,actionPerformed,方法中对六个事件源作出相应,public class mAudio extends Applet implements ActionListener,public void actionPerformed(ActionEvent e),完成情况评价标准,完成(,1,),-,(,4,),得到最终结果的正确输出,,100,分。,完成(,1,),-,(,3,),正确生成菜单,,80,分。,完成(,1,),-,(,2,),正确生成菜单,,60,分。,功能扩展之案例二,编写一个,applet,让用户从几个音频片段中选择来播放,程序运行画面如下:,功能扩展之案例二,/,程序中声音的名字,public final String AUDIO=,ping,pop,return,salvation,shuffle,squish;,/,包含上述字符串数组的下拉框,private Choice choice;,/,真实的音频片段数据,private AudioClip clips;,功能扩展之案例二,/,控制播放停止的按钮,private Button playClip;,private Button loopClip;,private Button stopClip;,private Button stopAllClips;,/,跟踪当前哪些音频片段在播放,private boolean clipsPlaying;,应用升级,问题陈述:,在电梯系统的模拟程序里,公司要求在模拟中加入声音。例如,当一个人走路时,应能听到脚步声。每当按下或者复位一个楼层按钮或者电梯按钮时,应当听到单击声。电梯到达时铃声应当响起,且在门打开时或者关上时,门应当吱吱作响。最后,当电梯在楼层间运行时,应播放,“,电梯音乐,”,。,应用升级,解决思路:,编写类,SoundEffects,,将声音文件转换成,java.applet.AudioClip,对象,关键代码,try,return Applet.newAudioClip(getClass().getResource(,prefix+soundFile);,/return null if soundFile does not exist,catch(NullPointerException nullPointerException),return null;,应用升级,类,SoundEffects,包含方法,getAudioClip,,该方法通过参数,soundFiled,调用类,java.applet.Applet,的,static,方法,.newAudioClip,返回一个,AudioClip,对象。方法,setPathPrefix,允许改变声音文件的目录(如果我们需要把声音分配到多个目录中,该方法很有用)。,应用升级,(,2,)编写一个类,通过播放,AudioClip,对象来产生声音。(学生自主完成),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!