Java加入背景音乐
? ? 近期有幾個師妹找我給她們的Java期末作業(yè)加入背景音樂,非常久不琢磨Java的我花費整晚才搞定,羞愧。在博客中記錄下來。警示自己。也幫助一下大家。
? ? Java中能夠通過AudioClip類來實現(xiàn)音樂播放。循環(huán)等操作。AudioClip支持的音樂格式有.wav、.mid、AIFF、AU、RMF,可是格式要求相當(dāng)嚴(yán)格。
我用AudioClip播放我自己錄的一段wav文件就沒有聲音。讓我糾結(jié)了非常久。最后才發(fā)現(xiàn)我的wav文件內(nèi)容沒有寫文件尾,對于格式要求嚴(yán)格的AudioClip而言是無法識別的(這個問題困擾了我整晚)。
? ? AudioCLip基本的方法有:play()播放依次聲音;loop()循環(huán)播放音樂。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中執(zhí)行沒有問題。可是Application中g(shù)etclass()會返回空指針,導(dǎo)致失敗。
? ? 推薦做法:
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程序都支持。
轉(zhuǎn)載于:https://www.cnblogs.com/blfshiye/p/5078775.html
總結(jié)
以上是生活随笔為你收集整理的Java加入背景音乐的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: resharper警告 :linq re
- 下一篇: matlab 中max函数用法