第十四章 多媒体 ■课程内容:音频文件、播放音频文件、在独立 线程中处理音频、处理图象、使用 MediaTracker ■授课时▣:2006/06/08 教学目标:了解多媒体处理;学习如何通过线 程播放音频和图象显示 ■重点:读取播放音频文件,图象文件等 ■教学方法:讲授 ■教学过程:(省略) ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 课程内容:音频文件、播放音频文件、在独立 线程中处理音频、处理图象、使用 MediaTracker 授课时间:2006/06/08 教学目标:了解多媒体处理;学习如何通过线 程播放音频和图象显示 重点:读取播放音频文件,图象文件等 教学方法:讲授 教学过程:(省略) 第十四章 多媒体
音频文件 音频信息存储在文件中。有多种音频文件格 式。利用java2能播放.wav和.au等文件 ©2006计算机系杨群 All rights&lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 音频文件 音频信息存储在文件中。有多种音频文件格 式 。利用java2 能播放 .wav 和 .au等文件
播放音频 play (URL url,String filename); 通过ur1下载音频并播放.如果找不到音频文 件,则什么都不做 play (getCodeBase(),"soundfile.au"); 播放声音文件soundfile.au,文件存放在 applet所在的目录中 play (getDocumentBase(),"soundfile.au"); 播放声音文件soundfile.au,文件存放在 HTML文件所在的目录中 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 播放音频 play(URL url, String filename); 通过url下载音频并播放.如果找不到音频文 件,则什么都不做 play(getCodeBase(), "soundfile.au"); 播放声音文件 soundfile.au, 文件存放在 applet所在的目录中 play(getDocumentBase(), "soundfile.au"); 播放声音文件 soundfile.au, 文件存放在 HTML文件所在的目录中
使用音频剪辑 public Audioclip getAudioclip(URLurl); public Audioclip getAudioclip(URLurl, String name); 两个方法都可以创建音频剪辑,nam.e用于相对 URL地址 public abstract void play() public abstract void loop() public abstract void stop() 使用这些方法可以从头播放,重复播放,停止播放 音频剪辑 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. public AudioClip getAudioClip(URL url); public AudioClip getAudioClip(URL url, String name); 两个方法都可以创建音频剪辑, name用于相对 URL 地址 public abstract void play() public abstract void loop() public abstract void stop() 使用这些方法可以从头播放,重复播放,停止播放 音频剪辑 使用音频剪辑
范例:在applet中加入声音 显示一个走动的时钟,通过播放声音文件每隔一 分钟报一次时间 ClockAppletWithAudio ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例:在applet中加入声音 显示一个走动的时钟,通过播放声音文件每隔一 分钟报一次时间 ClockAppletWithAudio
Defined Defined Clock In Example 13.5 CurrentTimeApplet In Example 12.1 Clock WithAudio 1 -ClockAppletWithAudio applet Clock WithAudio clock -hourAudio +paintComponent(g) -minuteAudio -amAudio -pmAudio +init() +createClcok() +announceTime(s,m,h) +start() +stop() ©2006计算机系杨厚群 All rights&lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. ClockAppletWithAudio -ClockWithAudio clock -hourAudio[] -minuteAudio -amAudio -pmAudio +init() +createClcok() +announceTime(s, m, h) +start() +stop() +resume() CurrentTimeApplet -char token +getToken +setToken +paintComponet ClockWithAudio +mouseClicked -ClockAppletWithAudio applet +paintComponent(g) Clock -char token +getToke n +setToke n +paintCo mponet +mouseC licked 1 1 Defined In Example 13.5 Defined In Example 12.1
在独立的线程中播放音频 为了避免上例绘制时钟和报时之间的冲突,本例 在分离的线程中完成这些任务 ClockAppletWithAudioOnSeparateThread ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 在独立的线程中播放音频 为了避免上例绘制时钟和报时之间的冲突,本例 在分离的线程中完成这些任务 ClockAppletWithAudioOnSeparateThread
显示图象 有两种方法用于显示图象: 使用getImage()方法获取图象文件然后创建图象 对象 在显示区域使用drawImage()显示图象 ©2006计算机系杨厚群 All rights&lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 显示图象 有两种方法用于显示图象: 使用 getImage()方法获取图象文件然后创建图象 对象 在显示区域使用drawImage() 显示图象
范例:在applet中显示图象 DisplayImageApplet ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例: 在applet中显示图象 DisplayImageApplet
范例:在application和applet中使用图象和音频 使用Class类获取图象和音频资源的URL.从组合 框里选择一个国家,显示国旗,然后点击按钮可 以播放国歌.(可作为applet:和application) ResourceLocatorDemo ©2006计算机系杨厚群 All rights&lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例: 在application和applet中使用图象和音频 使用Class类获取图象和音频资源的URL.从组合 框里选择一个国家,显示国旗,然后点击按钮可 以播放国歌.(可作为applet和application) ResourceLocatorDemo