我的应用程序在MIDI.js中使用web audio api播放音乐。
应用程序记录用户从麦克风或网络摄像头演奏的乐器,如吉他。我正在使用getUserMedia和一个工作人员,这是取自https://github.com/mattdiamond/Recorderjs。
我的问题是延迟问题。我播放的声音大约是250ms后录制的。
我想要的不是一定要减少这个时间,而是要知道这个时间大约是15ms,这样我就可以同步这两个时间。
有没有办法做到这一点?我可以假设延迟会保持不变吗?
我注意到AudioContext参数调用currentTime:http://www.w3.org/TR/webaudio/#AudioContext-section我能用它来知道我的noteOn和硬件上的realTime noteOn之间的延迟吗?如果是,那么我如何以及如何获得吉他演奏和吉他录制之间的延迟。
我需要来自JUCE http://www.juce.com/api/classAudioIODevice.html#a693804fbf5a7cceb31ece10a9f03bd11的类似AudioIODevice::getOutputLatencyInSamples的东西
谢谢你的帮助。
发布于 2014-01-30 01:01:03
现在,没有办法做到这一点;暴露的currentTime是音频硬件时间,并且没有直接转换。我们有一个悬而未决的问题要将其添加到规范中。
https://stackoverflow.com/questions/21428511
复制相似问题