【发布时间】:2018-04-26 22:52:43
【问题描述】:
好的,我目前正在使用 javafx 做一个琐碎的追求游戏项目,我的团队希望我添加音频问题是我有一个方法
public static void playSoundEffect(Sound sfx) {
Media media=null;
try {
media = new Media(GameAudio.class.getClassLoader().getResource(sfx.getSound()).toURI().toString());
mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
但它有它的问题,因为如果我想静音所有音频,只有最后播放的声音会被静音,而不是整个项目的音频。
我正在考虑制作 2 个包含每个音频文件的 MediaPlayer(SFX 和音乐)列表,但我不确定如何正确设置它...我目前的尝试是使用 Enum 作为包含路径的 const 字符串.然后在某些课程中,我使用上面的方法在某个点播放声音。但是由于我总是调用一个新的 mediaPlayer 实例,所以我无法再控制它了,这就是我迷路的原因。
【问题讨论】:
-
在您的游戏中创建一个
BooleanProperty muted,然后每当您创建新的媒体播放器时,只需调用mediaPlayer.muteProperty().bind(muted)。 -
好的,谢谢,这正是我所需要的
标签: audio javafx media-player media