是否可以在没有延迟的情况下开始使用 JavaFX MadiaPlayer
Is it possible to start playing with JavaFX MadiaPlayer without latency
我需要无延迟(小于 5-10 毫秒)一个接一个地播放 mp4 文件。我不想使用 vlc 或 xugler。
可能有一些解决方案可以让播放器在 play() 之后等待我的 trigger.notify() 并注入代码(但 MediaPlayer 是最终的):
Object trigger = new Object();
synchronized (trigger) {
trigger.wait();
}
我需要 AudioClip 但对于 mp4 文件。
我重新测试了 MediaPlayer。现在我等待 READY 状态并开始播放。延迟为 3-12 毫秒。不是很好但是可以接受
new Thread(() -> {
while (mediaPlayer.getStatus() != MediaPlayer.Status.READY) {
try {
Thread.sleep(5);
} catch (InterruptedException ex) {
System.out.println("Sleep was interrupted.");
}
}
long before = System.currentTimeMillis();
mediaPlayer.play();
while (mediaPlayer.getStatus() != MediaPlayer.Status.PLAYING) {}
long after = System.currentTimeMillis();
System.out.println("latency " +(after - before));
}).start();
我需要无延迟(小于 5-10 毫秒)一个接一个地播放 mp4 文件。我不想使用 vlc 或 xugler。
可能有一些解决方案可以让播放器在 play() 之后等待我的 trigger.notify() 并注入代码(但 MediaPlayer 是最终的):
Object trigger = new Object();
synchronized (trigger) {
trigger.wait();
}
我需要 AudioClip 但对于 mp4 文件。
我重新测试了 MediaPlayer。现在我等待 READY 状态并开始播放。延迟为 3-12 毫秒。不是很好但是可以接受
new Thread(() -> {
while (mediaPlayer.getStatus() != MediaPlayer.Status.READY) {
try {
Thread.sleep(5);
} catch (InterruptedException ex) {
System.out.println("Sleep was interrupted.");
}
}
long before = System.currentTimeMillis();
mediaPlayer.play();
while (mediaPlayer.getStatus() != MediaPlayer.Status.PLAYING) {}
long after = System.currentTimeMillis();
System.out.println("latency " +(after - before));
}).start();