荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: 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软件 网络书店