Java加入背景音乐
2015-12-26 20:05
471 查看
近期有几个师妹找我给她们的Java期末作业加入背景音乐,非常久不琢磨Java的我花费整晚才搞定,羞愧。在博客中记录下来。警示自己。也帮助一下大家。
Java中能够通过AudioClip类来实现音乐播放。循环等操作。AudioClip支持的音乐格式有.wav、.mid、AIFF、AU、RMF,可是格式要求相当严格。
我用AudioClip播放我自己录的一段wav文件就没有声音。让我纠结了非常久。最后才发现我的wav文件内容没有写文件尾,对于格式要求严格的AudioClip而言是无法识别的(这个问题困扰了我整晚)。
AudioCLip基本的方法有:play()播放依次声音;loop()循环播放音乐。stop()停止播放。
做法一:
此方法将音乐文件放入流中在播放,仅限于Java Application。easy报错,空指针异常。或者是流异常,不推荐。
做法二:
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程序都支持。
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。easy报错,空指针异常。或者是流异常,不推荐。
做法二:
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程序都支持。
相关文章推荐
- 大话设计模式之外观模式(Java版实现) 买股票还是买基金在此揭晓
- php eclipse 如何修改php文件创建时默认样式
- 【java基础】引用类型数组初始化中,setter和getter函数空指针问题
- Win7下用Eclipse远程连接Hadoop进行开发
- 【JAVA笔记——道】并发编程CAS算法
- java取出一组中文每个汉字的首字母 如 :中国 zg
- Java之关于Serialization
- Spring加载resource时classpath*:与classpath:的区别
- spring注入properties属性配置
- 记JAVA的二三事(1)——"==","引用"
- [Java VM 系列] GC原理学习
- java web基础 --- Filter
- MyEclipse Java Web 调试
- java中如何输入数字串,过滤掉逗号,把他们放入数组
- 配置JAVA的环境变量
- Spring Boot学习笔记-实践建言
- Spring XD: 将数据驱动的联系放到统一的平台上
- JAVA常用类之日期处理
- JAVA常用类之Math
- JAVA常用类之String