如何在音序器完成播放后关闭音序器

  • 本文关键字:音序器 播放 java
  • 更新时间 :
  • 英文 :


每当我使用 :

Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
// code....
sequencer.start();
sequencer.close(); //it closes the sequencer immediately with no sound being played
有什么

方法可以确保音序器已经播放完声音,然后调用 close(( 方法?我不想使用时间延迟。

如果你使用的是java8,你可以使用CompletableFuture

它就像javascript的承诺。您可以指定任务完成后要执行的方法。例如:您可以执行以下操作:

CompletableFuture<String> completableFuture
  = CompletableFuture.supplyAsync(() -> sequencer.start())
 completableFuture.thenApply(s -> sequencer.close())

最新更新