在java的应用程序中加入声音
教你怎样在java的应用程序中加入声音
最近在做java课程设计,想在应用程序(有main()函数的)中加入声音,大家知道
在 Java applet 中声音播放任务很简单,但是在应用程序中缺少这样的支持。现在告诉你如何
在 Java 应用程序中播放声音文件。
看了好多资料发现在 Java 应用程序中播放声音文件在现有发行的 Java 版本中都没有正式的支持,但别担心,我们用别的方法
先说一下在 applet 中播放声音文件的一般步骤:
创建一个 AudioClip 对象
装入 .au 或者wav的声音文件(或者后面所说的支持的类型)到 AudioClip 对象
下面是相应的代码:
import java.applet.*;
AudioClip ac = getAudioClip(getCodeBase(), soundFile);
ac.play(); //一次播放
ac.stop(); //停止播放
ac.loop(); //循环播放声音
看起来,在 Java 应用程序中用相同的代码来播放声音文件似乎也是可行的。但很不幸,如果你真这样做,编译器就会报错。为什么呢?因为 AudioClip 对象及其方法 getAudioClip() 属于java.applet 包 -- 而不属于应用程序包的。可喜的是我们还可以自己做些改变来实现声音播放功能。
解决这个问题的窍门是利用由 Sun 及 其JDK 提供的某些 undocumented 的特征。先看看 Sun JDK 中的文件 classes.zip (使用任何解压工具即可),发现其中不仅包含标准的 Java 包如 java.applet 而且还存在包 sun.audio. (在 sun/audio 的目录下.)(你不需要对其操作)
包 sun.audio 中包含了用于播放声音文件所需的所有东西!下面是示例代码:
import sun.audio.*; //引入包,一定要的
import java.io.*;
将上面两条语句放你程序前面(相信你学java这点还是知道吧!)
// 用输入流打开一音频文件
InputStream in = new FileInputStream(Filename);//FIlename 是你加载的声音文件如(“game.mav”)
// Create an AudioStream object from the input stream.
AudioStream as = new AudioStream(in);
AudioPlayer.player.start(as);//用静态成员player.start播放音乐
AudioPlayer.player.stop(as);//同样这是关闭音乐
///////////////////////
相关文档:
26.移动一个文件夹下所有文件到另一个目录
//import java.io.*;
File movefile=new File(%%1);
File[] movefiles=movefile.listFiles();
for(int i=0;i<movefiles.length;i++){
if(movefiles[i].isFile()){
int bytesum = 0;
int byteread  ......
61.文件夹移动到整合操作
/*
import java.io.*;
import java.util.*;
import javax.swing.*;
*/
JFileChooser Jfc = new JFileChooser("请选择源路径"); // 建立选择档案对话
方块盒 Jfc
if (!Jfc.isFileSelectionEnabled()) {
return;
} ......
73.FTP下载
/*
import sun.net.ftp.FtpClient;
import java.io.*;
import sun.net.*;
*/
//如果文件在某个目录下,则加入fc.cd("foodir");
//比如要下载ftp://ftp.xx.com/index.html则:
try
{
FtpClient fc=new FtpClient("ftp.xx.com");
fc.logi ......
来到广州7天了,还没有一个面试电话,一起来仨.net今天都面试去,一个人在房间里极度郁闷,自认为还算是个人品、技术都不错的一优秀女青年,难道真如传说中的,有性别歧视?未必吧,昨天就见到一个,那个漂亮。。。岂一个楚楚动人了得啊。。。
哎。。悲哀呀!
待续。。。。。。 ......
过滤器Filter也具有生命周期:init()->doFilter()->destroy(),由部署文件中的filter元素驱动。在servlet2.4中,过滤器同样可以用于请求分派器,但须在web.xml中声明,<dispatcher>INCLUDE或FORWARD或REQUEST或ERROR</dispatcher>该元素位于filter-mapping中。
一、批量设置请求编码
Java代码
publ ......