我需要一个接一个地播放mp4文件而没有延迟(小于5-10ms)。我不想使用vlc或xugler。
可能有一些解决方案让播放器在play()之后等待我的trigger.notify()注入代码(但MediaPlayer是最终的):
Object trigger = new Object();
synchronized (trigger) {
trigger.wait();
}
我需要AudioClip但需要mp4文件。
答案 0 :(得分:0)
我重新测试了MediaPlayer。现在我等待READY状态并开始播放。延迟时间为3-12ms。它不是很好,但它是可以接受的。
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();