当前位置:文档之家› 14 多媒体编程

14 多媒体编程


14.1.2 使用ImageIcon类(续)
获取URL地址:
URL url=this.getClass().getResource( "T1.gif");
例14-2 使用ImageIcon类
源代码
运行
14.1.3 使用MediaTracker类跟踪图像下载
调用getImage() 时,系统会启动一个独立 的线程来下载图像,这使得程序在下载图像 的同时能执行其他操作。因此,正在下载的 图像有可能只能部分地显示。为了解决这个 问题,必须使用MediaTracker编写相关的 跟踪程序判断图像是否已经完全下载。 ImageIcon会自动使用MediaTracker监视 图像的下载状态,并保证在完成下载之前程 序不会试图使用该图像。
第14章 多媒体编程
14.1 显示图像 14.2 播放动画 14.3 播放音频 14.4 习题
14.1 显示图像
14.1.1 使用Applet类 14.1.2 使用ImageIcon类 14.1.3 使用MediaTracker类跟踪图像下载
14.1.1 使用Applet类
获取图像对象的方法:
– public Image getImage(URL url) – public Image getImage(URL url,
例14-1 使用Applet类
源代码
运行
14.1.2 使用ImageIcon类
ImageIcon类的构造方法:
– public ImageIcon(String filename) – public ImageIcon(Image image) – public ImageIcon(URL location)
14.3 播放音频
Java 2不仅允许在applet中播放音频,还 允许在application中播放音频。 Java 2中可以播放的音频文件格式为 WAV、AIFF、MIDI、AU、RMF等。
14.3.1 在applet中播放音频
在applet中播放音频的方法:
– public void play(URL url) – public void play(URL url,String name)
AudioClip audio=Applet.newAudioClip (url);
14.4 习 题
源代码
运行
14.3.2 在application中播放音频
JDK 1.2在Applet类中定义了一个静态方法:
public static final AudioClip newAudioClip (URL url)
//从指定的url位置取得AudioClip对象
例:
URL url=this.getClass().getResource (filename);
例: play(getDocument(),"T1.au");
14.3.1 在applet中播放音频(续)
获取AudioClip对象的方法:
– public AudioClip getAudioClip (URL url)
– public AudioClip getAudioClip(URL url,String name)
AudioClip中控制音频播放的方法:
– public void play() – public void loop() – public void stop()
14.3.1 在applet中播放音频(续)
调用loop()或play()时,系统会为它们启 动一个独立的线程。
例14-4 在applet中播放音频14.2 播放来自画控制动画播放的方法:
– 多线程 – java.util.Timer
例14-3 使用多线程播放动画
源代码
运行
14.2.2 双缓冲技术
双缓冲技术首先创建一个后台的绘图缓 冲区,然后在该缓冲区中绘制图像(图 形),只有绘制工作完成后才一次性地 将缓冲区中的图像(图形)在屏幕上显 示出来。 JComponent组件在默认情况下都使用 双缓冲技术绘图。
//在包含当前applet的HTML文件所在目录中装入指定图像文件
14.1.1 使用Applet类(续)
显示图像的方法:
public abstract boolean drawImage(Image img, int x, int y,ImageObserver observer)
public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
String name) 例:
Image image1=getImage(getCodeBase(), "image\T1.gif");
//在当前applet所在目录的子目录image中装入指定图像文件
Image image2=getImage( getDocumentBase(),"T1.gif");
相关主题