每当我使用:
启动音序器时Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
// code....
sequencer.start();
sequencer.close(); //it closes the sequencer immediately with no sound being played
确保音序器播放声音然后调用close()方法的方法是什么?我不想用时间延迟。
答案 0 :(得分:0)
如果您使用的是java8
,则可以使用CompletableFuture它就像javascript的承诺。您可以指定任务完成后要执行的方法。 例如:你可以做类似的事情:
CompletableFuture<String> completableFuture
= CompletableFuture.supplyAsync(() -> sequencer.start())
completableFuture.thenApply(s -> sequencer.close())