{
try{
// 用输入流打开一音频文件
InputStream in = new FileInputStream(Filename)//FIlename 是你加载的声音文件如(“game.wav”)
// 从输入流中创建一个AudioStream对象
AudioStream as = new AudioStream(in)
AudioPlayer.player.start(as)//用静态成员player.start播放音乐
//AudioPlayer.player.stop(as)//关闭音乐播放
//如果要实现循环播放,则用下面的三句取代上面的“AudioPlayer.player.start(as)”这句
/*AudioData data = as.getData()
ContinuousAudioDataStream gg= new ContinuousAudioDataStream (data)
AudioPlayer.player.start(gg)// Play audio.
*/
//如果要用一个 URL 做为声音流的源(source),则用下面的代码所示替换输入流来创建声音流:
/*AudioStream as = new AudioStream (url.openStream())
*/
} catch(FileNotFoundException e){
System.out.print("FileNotFoundException ")
} catch(IOException e){
System.out.print("有错误!")
}
}
javafx音频频谱数据绑定动画的方法:
添加import static java.lang.Math.random,到import语句列表中,就可以绑定动画了。
动画由时间轴驱动,因此此代码创建时间轴,然后使用for循环向30个圆中的每一个添加两个关键帧。0秒处的第一个关键帧使用属性translateXProperty并translateYProperty在窗口内设置圆圈的随机位置。40秒的第二个关键帧也是如此。
因此,当播放时间线时,它在40秒的时间段内将所有圆圈从一个随机位置动画到另一个随机位置。
注意javafx的动画需要设置路径和节点进行绑定,但如果路径的属性绑定在设置路径之前,就会使得该路径的属性被设置成绑定属性的初始值。
采用JavaFX组件完成的一款小巧、界面精美的本地音乐播放器,支持(拖动 or 文件选择器)添加本地音乐。
歌曲以及删除它们、具有歌词文件解析、三种播放模式选择、歌词滚动、歌单列表控制、频谱图展示、歌词海报显示、自定义背景、系统托盘控制、一些快捷键等。同时使用.ini文件记录应用设置信息,数据库用sqlite。
主要功能清单:
支持系统托盘控制和全屏控制。
界面简洁而精美且支持自定义背景。
支持播放的音乐格式:mp3 文件、wav 文件、aac 文件。
支持解析歌词并展示。
支持解析歌词文件(缩略图、专辑、时长等)。
支持频谱图动效。
支持拖动添加文件。
支持歌单列表控制。
你使用了过时的类调用了过时的方法. 已经不被推荐使用, 所以eclipse会划线提示.
以toURL() 为例 直接从File对象获得链接, 但是toURL方法,不会对特殊字符编码. 但是toURI方法会进行编码
所以现在一般的解决方案是 file.toURI().toURL()
解决办法:使用javafx.scene.media.AudioClip , 该类功能简单: 播放和停止声音 . 没有暂停, 时间长度,资料,均衡器等功能
参考代码
import java.io.Fileimport javafx.scene.media.AudioClip // 导包
public class TestAudioClip {
public static void main(String[] args) throws Exception {//抛出异常
AudioClip audioClip=new AudioClip(new File("D:\\宣传片音效.mp3").toURI().toURL().toString())
audioClip.play(0.8)//设置以80%的音量播放
// 设置一个循环,保证播放完了声音才退出程序
while(true) {
if(!audioClip.isPlaying()) {//如果停止了播放,就退出while循环
break
}
}
//while(audioClip.isPlaying()) {} //这样写更简洁
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)