8
回答
如何在java制作的计算器中添加语音?(计算器不是applet)
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

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

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

URL url = getClass().getResource("sources/one.wav");//声音都在Calculator的bin文件夹中。
		audioClip = Applet.newAudioClip(url);
		audioClip.play();
举报
李嘉图
发帖于4年前 8回/360阅
共有8个答案 最后回答: 4年前

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文件夹里。

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

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

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

引用来自“loyal”的答案

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

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

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

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