在 java 中播放声音(2)

声音是1个游戏相当重要的部份。

上1次我谈了利用AudioClip 简单两行代码来播放声音(http://blog.csdn.net/cnmm22/article/details/44674173)。今天我介绍1下另外一种方法,利用AudioStream。

使用这两个方法进程中定位1个资源的进程要难于使用方法本身。

上1次我们给 AudioClip 传进1个 URL 从而定位1个资源,这1次,我们延续这个思路,完善1下怎样在java中定位1个资源文件。

这1次。我换1种写法:

String path = new File(getClass().getClassLoader().getResource(“”).toURI()).getPath();
FileInputStream fileau = new FileInputStream(path + “sounds11.mp3”);

这次我们没有传 URL,但首先一样利用反射机制,getClass().getClassLoader().getResource.toURI()).getPath(),拿到项目 bin 文件夹在电脑里的绝对位置,由于是反射,所以在文件被移动后依然能找到资源。 以后的 path + “sounds11.mp3” 是文件本身的urI,其中sounds/1 文件夹为示范,代表在bin 下滴任意路径。注意其中反斜杠由双反斜杠代替。

我们把这个path (String name),传给 FileInputStream,从而得到我们要播放 AudioStream 的资源文件。

接下来是播放代码:

AudioStream as = new AudioStream(fileau);
AudioPlayer.player.start(as);

假定我们这次还是用 URL来定位1个资源文件,参考代码为:

URL u = XXX.class.getClassLoader().getResource(“sounds/1/diao.wma”);
as = new AudioStream(u.openStream());
AudioPlayer.player.start(as);

如果我们需要重复播放1首音乐,需要这样写:

AudioData data = as.getData();
ContinuousAudioDataStream gg = new ContinuousAudioDataStream(data);
AudioPlayer.player.start(gg);

最后别忘:as.close();固然还有 try catch .

最后我需要说明。 java 我这次提到的两中声音播放的方法,对所有音频文件的支持其实不是很理想,有很多格式,比如 mp3是没法播放滴,文件1般情况下都需要转换成 wav,在这以后由于转码的问题,乃至不1定所有的 wav 都能播放,这样会使文件过大,而且目前在jdk1.8 我还没找到很好的暂停,继续播放音乐的方法。所以我希望本文能够多给与 java里通过反射定位1个资源文件滴1些参考。

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 在 java 中播放声音(2)

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡