一次播放多个声音 JavaFx



我目前正在做一个项目,这是一个针对儿童的小型教育游戏。现在我正在介绍屏幕上工作,我似乎在声音方面遇到了一些问题。最初我认为也许mp3文件可能导致问题,因为我已经读到最好使用.wav文件。这两种声音是蜂鸣的声音,以及游戏开始时的开场主题。有时它完美无缺,没有任何问题,有时声音既播放一秒钟,然后被切断。如果有人能为我指出正确的方向,那将是非常有帮助的。

我尝试将文件转换为.wav文件,这似乎并不能真正解决问题。 我试图将媒体播放器定义为属性,以避免清除媒体播放器实例的垃圾回收例程。这似乎也不能解决问题。

public class Intro extends Application{
MediaPlayer mediaPlayer;
MediaPlayer mediaPlayer2;
@Override
public void start(Stage primaryStage) {
// TODO Auto-generated method stub
//THE BEES
String musicFile = "thebees.wav";
String music2 = "opening.wav";
Pane root = new Pane();
Scene scene = new Scene(root, 600, 500);
//Bee sound
Media sound = new Media(new File(musicFile).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(sound);
mediaPlayer.play();
Media sound2 = new Media(new File(music2).toURI().toString());
MediaPlayer mediaPlayer2 = new MediaPlayer(sound2);
mediaPlayer2.play();

我要做的是,当打开介绍屏幕时,两个文件将同时播放。 再次感谢任何帮助的人!

您可以按照此处的方法将文件合并为一个文件。确保组合,而不是连接。如果一个文件比另一个文件长,您可以只将填充归零,直到长度相等。

听起来在链接的帖子中存在均衡或剪辑问题。 我会将两个文件标准化(即 1 是最大值.wav值)到最大值的一半(使 0.5 为最大值),然后简单地将每个样本加在一起以获得保证不剪辑的组合音频文件。按照此方法,每个文件具有相同的卷。

如果在文件之间使用了不同的采样率,请根据需要使用上采样/下采样。

最新更新