[对不起,如果这个问题中存在一些拼写错误(不在程序本身中),我通常不会说英语]
我正在制作一个带有一些背景音乐的节目,我为音乐做了第二节课。它在我添加部件之前工作正常,它检查“头程序”是否仍在运行(启动程序[自制]创建一个空文件,“头程序”在其中写入一些东西说它是启动后,我关闭“头程序”,“关闭”写入该文件,此程序读取它,此程序停止),当我添加该部分时,音乐在启动后立即停止,当音乐播放时时间,因为它是一个定时循环,它再次发生,但当它开始一个Tirth时间它正常工作,就像没有任何错误。我看着它并在网上查找可能的错误但没有发现任何东西,这很糟糕。 这是我的代码:
import javax.swing.*;
import java.io.*;
import javafx.embed.swing.JFXPanel;
import javafx.application.Platform;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
public class Music{
public static void main (String[] args){
int x = 0;
File f = new File("bootVeryfication.dat");
BufferedReader br;
String text = "";
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new JFXPanel();
Platform.runLater(new Runnable() {
public void run() {
}
});
}
});
while(true){
//Starting Music
try{
String bip = "texures\\music.mp3";
Media hit = new Media(new File(bip).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();
}catch(IllegalArgumentException e){
System.out.println(e.getMessage());
}
while(x != 145000){ //This is (probably) the part where the music stops
try{
Thread.sleep(1);
} catch(InterruptedException e){
Thread.currentThread().interrupt();
}
x = x + 1;
try{
br = new BufferedReader(new FileReader(f));
String line;
while((line = br.readLine()) != null){
text += line;
}
}catch(IOException e){
e.printStackTrace();
}
if(text.equals("close")){
System.exit(0);
}
}
x = 0;
}
}
}
你能帮帮我吗?
P.S。 我知道这里有一个无限循环。