如何在java制作的计算器中添加语音?(计算器不是applet)

李嘉图 发布于 2013/09/15 15:23
阅读 380
收藏 3

我是大二的学生,刚开学,要做课题,我选了计算器,结果计算器要实现语音报数,(注意计算器不是applet)我找了很多资料看,代码都一样,就是不对,老师又不在,任务快该交了,希望java的前辈们能帮我写一个应用程序播放声音的例子,关键点注释一下,我先提前谢谢了!

这是我按照书上写的代码,结果还是错!

URL url = getClass().getResource("sources/one.wav");//声音都在Calculator的bin文件夹中。
		audioClip = Applet.newAudioClip(url);
		audioClip.play();
加载中
0
loyal
loyal

getClass().getResource("/sources/one.wav");

这样因该就行了....

你编译的class是在bin里吧?

李嘉图
李嘉图
0
李嘉图
李嘉图
帮我找一个例子,关键点注释一下,我可以照葫芦画瓢!
0
loyal
loyal
报什么错?肯定是路径的问题!!!
李嘉图
李嘉图
报错内容我加上了!你在看看。
0
李嘉图
李嘉图

Exception in thread "main" java.lang.NullPointerException
 at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:48)
 at java.applet.Applet.newAudioClip(Applet.java:279)
 at Voice.One.<init>(One.java:11)
 at Main.main(Main.java:14)

这是给的错误,我把声音文件放在了Calculator(java项目名字)的bin文件夹里。

0
loyal
loyal

那你这句tClass().getResource("sources/one.wav");就不对了.

具体的目录结构你也没说,哎...你这样试吧: getClass().getResource("/one.wav");

李嘉图
李嘉图
照你说的,我把声音文件从sources复制到bin里面,又该了("/one.wav"),一下就对了,但是如果声音文件在其它地方,我又该如何改呢?就是路径问题?可以给我解释一下吗?
0
李嘉图
李嘉图

引用来自“loyal”的答案

那你这句tClass().getResource("sources/one.wav");就不对了.

具体的目录结构你也没说,哎...你这样试吧: getClass().getResource("/one.wav");

那个bin文件夹是不是默认文件夹,还有,我其实是把声音文件放在了bin文件夹的sources子文件夹里,这样不行?如果我非要放在sources文件夹里,哪有改如何改?

0
loyal
loyal

很简单的问题,你getClass().getResurce("...");路径是你当前的这个class所在的路径.

参考:

http://blog.csdn.net/lcj8/article/details/3502849

李嘉图
李嘉图
谢谢前辈了,我好好看看。
0
小熊猫大暴走
小熊猫大暴走
http://www.oschina.net/question/873438_82694 我还依稀记得这个类似的帖子.楼主怎么又做java了.
李嘉图
李嘉图
我是一个学软件工程的学生,但我们主修java。大一上学期是学C语言,打基础,下学期就开始学习java了,所以现在就需要做课题了。(貌似软件工程的学生都做编程课题)还有,那个计算就是花时间,算法优化了也没办法,而且没有实际意义,所以我就再也不弄了!
返回顶部
顶部