Javafx 如何设置媒体播放列表
Javafx how to setup a Media playlist
好的,我目前正在使用 javafx 做一个 Trivial Pursuit 游戏项目,我的团队希望我添加音频问题是我有一个方法
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 和 Music)列表,但我不确定如何正确设置它...我目前的尝试是使用 Enum 来处理包含的 const 字符串路径。然后在一些class我用上面的方法在某个点播放声音。但是因为我总是调用 mediaPlayer 的新实例,所以我不再对其进行任何控制,这就是我迷路的原因。
作为静音的@James_D,我将使用 BooleanProperty muted
并在创建的每个媒体播放器上调用方法 mediaPlayer.muteProperty().bind(muted)
。
好的,我目前正在使用 javafx 做一个 Trivial Pursuit 游戏项目,我的团队希望我添加音频问题是我有一个方法
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 和 Music)列表,但我不确定如何正确设置它...我目前的尝试是使用 Enum 来处理包含的 const 字符串路径。然后在一些class我用上面的方法在某个点播放声音。但是因为我总是调用 mediaPlayer 的新实例,所以我不再对其进行任何控制,这就是我迷路的原因。
作为静音的@James_D,我将使用 BooleanProperty muted
并在创建的每个媒体播放器上调用方法 mediaPlayer.muteProperty().bind(muted)
。