gpt4 book ai didi

JavaFX 媒体播放器无法在 start 方法内使用 do while 循环;

转载 作者:行者123 更新时间:2023-11-30 02:54:49 25 4
gpt4 key购买 nike

我不知道为什么会发生这种情况。我尝试了我能做的一切,但如果我在 start 方法中添加 do while 循环,下面的代码将无法工作。这没有道理。我的意思是我不迭代 sound() 也不做任何花哨的事情...只是一个简单的循环来阻止我的声音被播放。

这是为什么呢?我是否需要在单独的线程中启动音频?如果是的话怎么办?

import java.io.File;

import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;

public class SoundTest extends Application{
public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage arg0) throws Exception {
sound();
do {

}
while(true);
}

public static void sound() {
String path = "test.mp3";
Media media = new Media(new File(path).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
}
}

最佳答案

您的循环正在阻塞 JavaFX 应用程序线程。在 JavaFX 中使用任何看起来像游戏循环的东西肯定是错误的并且不会起作用。阅读有关 JavaFX 并发性的教程。

关于JavaFX 媒体播放器无法在 start 方法内使用 do while 循环;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37568551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com