荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Peter (小飞侠), 信区: Program
标 题: 在Java Application中播放音乐
发信站: BBS 荔园晨风站 (Thu Jan 21 23:06:36 1999), 转信
当前,有很多文章介绍如何在Java小程序(Applet)中播放音乐供人
边浏览页面边欣赏,但对如何在应用程序(Application)中播放音乐的
介绍还很少,本文简要介绍如何实现这一功能。
Sun当前的Java Development Kit版本1.1.3并不正式支持在Appl
ication中播放音乐文件,但仍然可以通过其他方法来实现这一功能。
首先介绍一下在Applet中播放音乐的四个步骤,代码如下:
import java.applet.*;
AudioClip ac=getAudioClip (getCodeBase(), File);
//创建Audioclip对象并装入.au文件
ac.play(); //播放一次
ac.stop(); //停止播放
ac.loop(); //循环播放
此代码在Application中编译时会发生错误,因为AudioClip对象(
object)和getAudioCi p()方法(method)都属于java.applet包,它们
在Application中无法调用。
解决问题的办法是使用一些Sun在JDK中发布但未正式注明的特点
。用Winzip或Zip观察一下class.zip文件就会发现,除了java.applet
包中包含对声音文件处理外,在/sun/audio目录下的sun.audio包也提
供类似的方法。下面是代码和注释:
import sun.audio.*;
//引入sun.audio包
import java.io.*;
InputStream in = new FileInputStream (Filename);
//打开一个声音文件流作为输入
AudioStream as = new AudioStream (in);
//用输入流创建一个AudioStream对象
AudioPlayer.player.start (as);
//"player"是AudioPlayer中一静态成员用于控制播放
AudioPlayer.player.stop (as);
当需从网上下载文件播放时,用以下代码打开音乐文件网址:
AudioStream as = new AudioStream (url.openStream());
播放一个持续的声音流更复杂一些,首先用上述方法创建声音流
;然后键入以下代码:
AudioData data = as.getData (); //创建AudioData源
ContinuousAudioDataStream cas = new ContinuousAudioData
Stream (data);
AudioPlayer.player.play (cas); //放音
AudioPlayer.player.stop (cas); //停止
因为以上程序使用了未公开的特性,所以不能保证它在当前Sun J
DK以外的编译器上运行。(范仲方)
注:本文根据网上资料编译而成。
--
--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.3]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店