javaFX mediaPlayer 淡出当前播放的音频

javaFX mediaPlayer fade out currently playing audio

我是 JavaFX 的新手,目前正在开发游戏。

我已经成功地使用 MediaPlayer class 在应用程序中设置了背景音乐。

现在我需要的是创建一个方法让歌曲淡出(而不是立即停止)。

我一直在阅读有关过渡的内容,但并不真正了解如何使用它们。

谢谢!!

Timeline class 可以改变任何JavaFX 属性。默认情况下,属性 的值被插值到目标值,(我相信)这将提供您想要的淡入淡出:

Timeline timeline = new Timeline(
    new KeyFrame(Duration.seconds(10),
        new KeyValue(mediaPlayer.volumeProperty(), 0)));
timeline.play();

KeyValue 指定要更改的 属性(音量),以及 属性 的目标值(零,即静音)。

KeyFrame 指定了 KeyValue 的值应该生效的时间。