미디어 플레이어 메서드를 만들었습니다. 시작시 호출되는 javafx입니다 (아래 미디어 플레이어). 내 문제는 내가 드래그하여 스크롤 창과 상호 작용할 때마다 일시 중지되거나 플레이어가 확대/축소되어 일시 중지되고 다시 시작되지 않는다는 것입니다. 왜 이런 경우이며 어떻게 해결할 수 있습니까? (시도해 보려면 전체 응용 프로그램 포함).올바르게 미디어 플레이어를 설정하는 방법 javafx
package minimalist;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import java.util.stream.Collectors;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
public class Minimal extends Application{
private static Queue<String> musicList = new LinkedList<String>();
public static void main(String[] args) throws IOException {
List<String> result = Files.find(Paths.get(".\\music"), 100,
(p, a) -> p.toString().toLowerCase().endsWith(".mp3"))
.map(path -> path.toString())
.collect(Collectors.toList());
for(int a = 0; a < result.size(); a++)
{
musicList.add(result.get(a));
}
MusicPlayer();
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
ScrollPane scrollpane = new ScrollPane();
Image image = new Image("https://upload.wikimedia.org/wikipedia/commons/7/70/Kusatma_Zonaro.jpg");
ImageView imageView = new ImageView(image);
scrollpane.setContent(imageView);
scrollpane.setPannable(true);
Scene scene = new Scene(new StackPane(scrollpane));
primaryStage.setScene(scene);
primaryStage.setFullScreen(true);
primaryStage.show();
}
private static void MusicPlayer() {
if(musicList.peek() == null)
{
return;
}
MediaPlayer mediaPlayer = new MediaPlayer(new Media(new File(musicList.poll()).toURI().toString()));
mediaPlayer.setOnReady(() -> {
mediaPlayer.play();
mediaPlayer.setOnEndOfMedia(() -> {
mediaPlayer.dispose();
MusicPlayer();
});
});
}
}
여기 좀 https://docs.oracle.com/javafx/2/media/playercontrol.htm 되세요. 아담 당신이 제공하는 코드가 너무 큽니다 .. 그래서 우리는 솔루션을 제공 할 수있는 버그가오고있는 위치를 찾으십시오. 또한 주요 코드를 많이 줄일 fxml와 함께 귀하의 프로젝트를 빌드하려고합니다. – GOXR3PLUS
당신은 [전에] (http://stackoverflow.com/questions/39969156/music-player-pauses-upon-interaction-with-interface-javafx)에게 물어 보려했습니다. 이 작업을 위해 [MCVE]를 만들면 정말 도움이 될 것입니다. 첫 번째 시도는 * complete * 코드를 포함하지 않았습니다. 이 질문의 코드는 분명히 * 최소 *가 아닙니다 (우리가 가지고 있지 않은 자원에 의존하기 때문에 실제로 완료되지는 않습니다). 그래서 음악을 재생할 수있는 코드와 문제를 재연 할 수 있는지 드래그하여 볼 수있는 코드가있는 새로운 프로젝트를 만드십시오. 그런 다음 문제를 보여주는 가장 작은 완전한 응용 프로그램을 게시하십시오. –
@ GoXR3Plus 그래, 나는 이것을 게시하기 전에 그것을 보았다. 그리고 그것은 끔찍하게 유용하지 않았다. 아래는 프로젝트를 만들고 mp3 파일이 들어있는 music이라는 소스 폴더를 추가하는 것입니다. –