如何用java识别音乐

如何用java识别音乐,第1张

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("awav");
try {
as = new AudioStream(is);
} catch (IOException e) {}
AudioPlayerplayerstart(as);
此方法将音乐文件放入流中在播放,仅限于Java Application,容易报错,空指针异常,或者是流异常,不推荐。
做法二:
String music = "awav";
AudioClip clip = AppletnewAudioClip(getClass()getResource(music));
次方法在Applet中运行没有问题,但是Application中getclass()会返回空指针,导致失败。
推荐做法
private URL url;
private AudioClip ac;
File f1 = new File("C:/3wav");
try {
url= f1toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
ac= AppletnewAudioClip(cb1);
acplay();

你可以查看JAVA API的 AudioClip类。
给你举个简单的例子,我用URL定位好资源
URL myMusic = getClass()getResource("audio/Losewav");
private AudioClip audioClip = AppletnewAudioClip(myMusic);
audioCliploop();
loop循环播放,还可以audioCliploop();或者audioCliploop();当然这些 *** 作与GUI结合最好。
声音你可以wav,aiff,midi,au,rmf格式,我一般用wav,注意音质不能太好,否则JAVA播放不了。
你可以用goldWave转码工具,音质转换为PCM signed 16 bit,mono,保存类型为wav,我以前就这么转,JAVA听着还不错,


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13374467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存