首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果连接到外部Midi输出设备,Java sequencer循环会有延迟

如果连接到外部Midi输出设备,Java sequencer循环会有延迟
EN

Stack Overflow用户
提问于 2019-01-03 03:21:49
回答 1查看 105关注 0票数 0

我想使用Java及其setLoopCount()方法循环一个Midi序列。

如果序列器的输出连接到外部Midi out设备,则在每次时序循环时都会引入明显的延迟。

如果sequencer的连接到内部Java synth (Gervill),我没有注意到循环之间的任何延迟。我尝试了不同的循环点,它没有改变问题。我使用的是Win10/Java 8。

代码语言:javascript
复制
  sequencer = MidiSystem.getSequencer(false);
  sequencer.open();
  Sequence sequence = MidiSystem.getSequence(midiFile);
  sequencer.setSequence(sequence);

  // outDevice=Java synth (Gervill)
  // or
  // outDevice=Edirol UA-25 (USB)
  Receiver outDeviceReceiver = outDevice.getReceiver();
  Transmitter seqTransmitter = sequencer.getTransmitter();
  seqTransmitter.setReceiver(outDeviceReceiver);

  int startLoopTick = 0;
  int endLoopTick = -1;  // Loop at end of sequence
  sequencer.setLoopStartPoint(startLoopTick);
  sequencer.setLoopEndPoint(endLoopTick);
  sequencer.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);

  // if outDevice==Edirol there is a slight delay between loops
  sequencer.start();
EN

回答 1

Stack Overflow用户

发布于 2019-10-07 04:07:18

序列器自动发送控制器msg后循环。(在所有通道上重置所有控制器等121,123,64 )这就是为什么它听起来是延迟的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54012029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档