我正在尝试制作一个Java应用程序,该应用程序能够在检测到Midi设备后在计算机上播放笔记。
一旦获得所需的Midi设备,我就设置了接收器,该设备的发送器将向其发送MIDI消息。
device.getTransmitter().setReceiver( new MyReceiver()) ;
类MyReceiver看起来像:
public class MyReceiver implements Receiver {
MidiChannel[] channels ;
public MyReceiver (){
try {
Synthesizer synthesizer = MidiSystem.getSynthesizer();
synthesizer.open();
channels = synthesizer.getChannels();
channels[0].programChange( 22 ) ;
}catch ( Exception e ) {
e.printStackTrace() ;
}
}
public void noteOff ( int nota ) {
channels[0].noteOff(nota);
}
public void noteOn ( int nota ) {
channels[0].noteOn( nota , 100);
}
public void send(MidiMessage msg, long timeStamp ) {
byte[] b = msg.getMessage ();
String tmp = bits ( b [0] ) ;
int message = convertBits ( tmp ) ;
int note1 = convertBits ( bits ( b [ 1 ] ) ) ;
// note on in the first channel
if ( message == 144 ) {
noteOn( note1 ) ;
}
// note off in the first channel
if ( message == 128 ) {
noteOff( note1 ) ;
}
}
public String bits(byte b)
{
String bits = "";
for(int bit=7;bit>=0;--bit)
{
bits = bits + ((b >>> bit) & 1);
}
return bits;
}
public int convertBits ( String bits ) {
int res = 0 ;
int size = bits.length () ;
for ( int i = size-1 ; i >= 0 ; i -- ){
if ( bits.charAt( i ) == '1' ) {
res += 1 <<(size-i-1) ;
}
}
return res ;
}
public void close() {}
}
当我运行代码并开始在Midi设备上播放时,我的等待时间很长(我听不到即时的笔记)。
我该如何解决这个问题?
我正在使用使用asio驱动程序来避免延迟的JAsioHost
proyect
问题内容: 我正在尝试使用新的React Lazy和Suspense创建后备加载组件。这很好用,但后备时间仅显示几毫秒。有没有办法增加额外的延迟或最短时间,因此我可以在渲染下一个组件之前显示该组件的动画? 现在懒导入 等待组件: 我可以做这样的事情吗? 问题答案: 函数应该返回对象的承诺,该对象由具有默认导出功能的模块返回。不会返回承诺,也不能那样使用。尽管任意承诺可以: 如果目标是提供 最小的
让事件延迟发生 用法: Your browser does not support the video tag. 案例:小台灯 功能:按下按钮,5s后灯亮,松开按钮,5s后灯灭 工作原理: 每一个输入都会在一段时间后(配置项中提供)被传送到输出。 当按钮被按下后,转动电机;一秒后再反转
问题内容: 该Plunkr有2个链接。左侧的那个正在使用ng-click指令,并插入了on angular-touch模块。如ng- click的角接触模块描述中所述,ng-click链接不应具有300ms的延迟。但是,如果您在移动设备上进行测试,情况仍然如此。 那么plunkr是否会阻止正确的功能,因为它是在iFrame中执行的或类似的操作,还是需要将Fastclick.js插入项目才能使指令正
我一直在寻找能在按键之间有一点延迟的方法。我一直在制作这个程序,它使用JIntellitype库读取全局热键,然后启动您指定的任何一个按键序列,例如按numpad1将执行一个B C序列。我的问题是,如果我使用线程。睡眠它只是延迟X个时间,然后按所有指定的键,在任何按键之间没有任何延迟。有人对如何解决这个问题有什么建议吗?提前谢谢! 这就是我用来发送机器人类按键的东西
我正在为我正在开发的web应用程序试用AWS3和CloudFront。 在应用程序中,我允许用户上传文件到S3 bucket(使用AWS SDK)并通过CloudFront CDN使其可用,但问题是即使文件在S3 bucket中上传并准备就绪,也需要大约一到两分钟才能在CloudFront CDN url中可用,这正常吗?
我正面临着G1GC算法中GC停顿的持续增加。服务延迟随着时间的推移继续增长。一旦发生这种情况,我将重新启动服务,延迟时间将恢复正常。启动后,等待时间再次随着时间的推移而增加。