import java.applet.Applet
import java.applet.AudioClip
import java.awt.Graphics
import java.net.URL
public class PlaySound extends Applet
{
public void paint(Graphics g)
{
URL codebase=getCodeBase()
System.out.println(codebase)
AudioClip audio1=getAudioClip(codebase,"danny.au")
g.drawString("Play music",30,30)
audio1.loop()
}
}
Java中可以通过AudioClip类来实现音乐播放,循环等 *** 作。AudioClip支持的音乐格式有.wav、.mid、AIFF、AU、RMF,但是格式要求相当严格。我用AudioClip播放我自己录的一段wav文件就没有声音,让我纠结了很久,最后才发现我的wav文件内容没有写文件尾,对于格式要求严格的AudioClip而言是无法识别的(这个问题困扰了我整晚)。AudioCLip主要的方法有:play()播放依次声音;loop()循环播放音乐;stop()停止播放。
做法一:
InputStream is =null
AudioStream as = null
is = getClass().getResourceAsStream("a.wav")
try {
as = new AudioStream(is)
} catch (IOException e) {}
AudioPlayer.player.start(as)
此方法将音乐文件放入流中在播放,仅限于Java Application,容易报错,空指针异常,或者是流异常,不推荐。
做法二:
String music = "a.wav"
AudioClip clip = Applet.newAudioClip(getClass().getResource(music))
次方法在Applet中运行没有问题,但是Application中getclass()会返回空指针,导致失败。
推荐做法:
private URL url
private AudioClip ac
File f1 = new File("C:/3.wav")
try {
url= f1.toURL()
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
ac= Applet.newAudioClip(cb1)
ac.play()
java中可以使用AudioPlayer来播放音乐,实例如下:
public class MySound{public MySound(){
//C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar这个jar包怎么加进工程,我放在那个工程中也没用
try {
InputStream in = new FileInputStream("hello.wav")//找到这个音乐文件
AudioStream as = new AudioStream(in)
AudioPlayer.player.start(as)// 开始播放
//AudioPlayer.player.stop(as)
}catch(FileNotFoundException e){
}
catch(IOException e){
}
}
public static void main(String[] args) {
new MySound3()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)