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);//同样这是关闭音乐///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
如果需要持续播放声音文件,则要稍稍复杂一点:
InputStream in = new FileInputStream(Filename);//FIlename 是你加载的声音文件如(“game.mav”) //获得音频文件
AudioStream as = new AudioStream(in);
AudioData data = as.getData();
// Create ContinuousAudioDataStream.
ContinuousAudioDataStream gg = new ContinuousAudioDataStream (data);
AudioPl
相关文档:
单类型导入(single-type-import),例如import java.io.File;
按需类型导入(type-import-on-demand),例如 import java.io.*;
关于这两种导入类型大家各有所爱,众说纷纭。这里分析一下这两种导入类型的大致工作原理供大家参考。
单类型导入比较好理解,仅仅导入一个pu ......
Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制。
1. 得到某个对象的属性
1 public Object getProperty(Objec ......
学习java已达一周。
促使我打算学习java的原因是今年的一个项目。今年用C++做了一个很简单的分布式non-relational key-value store. 功能仿照Dynamo,但是实现要比它简单得多,很多比如容错等模块都没有加上去。但即便如此,用C++来开发这么一个东西仍然不是一件让人愉快的事。举个例子,为了用event driven架构,一开始打 ......
/*
* @ Lunar.java
* @ 根据公历日期y/m/d推算出农历日期(属象,天支地干等)
* @ author Qiangwei He
* @ v1.0 2009/12/10 jdk1.6 compile
*
* field:
* int y,m,d; &n ......