chapter09多媒体与图形学程序设计JavaP
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
g©ram20m0i5ng赵小敏
加载声音文件
• 其中URL是一个网络地址,网络地址若包含声音文件 可采用第一种形式,否则采用第二种形式,播放本地计 算机上的声音文件也可采用第二种形式。假设有一个 MIDI声音文件trip.mid和Applet放在同一个目录下, 采用如下调用格式即可播放:
play(getCodeBase( ),″trip.mid″); • Applet的getAudioClip方法可创建这样的对象,该方
2. import java.awt.*;
3. import java.awt.event.*;
4. import javax.swing.*;
5. public class J_Audio extends JApplet implements ActionListener, ItemListener{
法加载指定网络地址的声音文件,并返回一个 AudioClip对象,调用格式如下: AudioClip getAudioClip(URL url) AudioClip getAudioClip(URL url, String name)
g©ram20m0i5ng赵小敏
加载声音文件
• 创建AudioClip对象后,声音文件即被加载,可调用它 的方法处理声音文件。如果该方法没有找到指定的声 音文件,将返回null值,此时不能引用所创建的对象。 AudioClip只有3个方法: void play()播放一遍; void loop()连续播放; void stop()停止播放。
15.
container.add( m_comboChoose );
16.
m_buttonPlay = new JButton( "Play" );
17.
m_buttonPlay.addActionListener( this );
18.
container.add( m_buttonPlay );
19.
27.
m_soundSecond = getAudioClip( getDocumentBase( ), "bark.au" );
28.
m_soundThird = getAudioClip( getDocumentBase( ), "PINBALL.MID" );
29.
m_soundFourth = getAudioClip( getDocumentBase( ), "BATTVLOW.WAV" );
g©ram20m0i5ng赵小敏
12.
String choices[] = { "hi", "bark","PINBALL","BATTVLOW" };
13.
m_comboChoose = new JComboBox( choices );
14.
m_comboChoose.addItemListener( this );
36.
m_soundCurrent.stop( );
6.
private AudioClip m_soundFirst, m_soundSecond,m_soundThird,
7.
m_soundFourth, m_soundCurrent;
8.
private JButton m_buttonPlay, m_buttonLoop, m_buttonStop;
23.
m_buttonStop.addActionListener( this );
24.
container.add( m_buttonStop );
25.
// load sounds and set m_soundCurrent
2Baidu Nhomakorabea.
m_soundFirst = getAudioClip( getDocumentBase( ), "hi.au" );
用play方法播放即可。Java提供了两种播放声音的方式 :一种是通过Applet类的play方法,一种是通过 AudioClip接口中的方法来播放。Applet的play方法可 以将声音文件的加载与播放一并完成,其调用格式如下: void play(URL url) void play(URL url, String name)
m_buttonLoop = new JButton( "Loop" );
20.
m_buttonLoop.addActionListener( this );
21.
container.add( m_buttonLoop );
22.
m_buttonStop = new JButton( "Stop" );
30.
m_soundCurrent = m_soundFirst;
31. }
g©ram20m0i5ng赵小敏
32. public void stop( ) { // Stop playing sound
33. m_soundCurrent.stop( );
34. }
35. public void itemStateChanged( ItemEvent e ) {
chapter09多媒体与图形学 程序设计JavaP
g©ram20m0i5ng赵小敏
第9章 多媒体与图形学程序设计
• 主要内容: 一、声音播放 二、图像显示 三、图形处理 四、动画处理
g©ram20m0i5ng赵小敏
一、声音播放
1、加载声音文件 • 在Applet中播放声音十分简单,加载声音文件,然后调
g©ram20m0i5ng赵小敏
在Applet中播放声音
• 本地计算机工作目录下有4个声音文件,代表 了.au 、 .mid、 .wav种声音格式,加载并播 放这些声音文件。结果如下图所示:
g©ram20m0i5ng赵小敏
例1程序源码: J_Audio.java
1. import java.applet.*;
9.
private JComboBox m_comboChoose;
10. public void init( ) // Build interfaces and set sounds{
11.
Container container = getContentPane( );
12.
container.setLayout( new FlowLayout( ) );