Я использую кнопку, которая записывает входящий звуковой сигнал микрофона. Обычно сигнал поступает немного позже после нажатия кнопки записи, и мой записанный вывод содержит ноль до 10 мс (после чего я получаю фактический вывод). Я использую следующую функцию QTimer для установки задержки, но выход такой же,
QTimer->singleShot(0.010, this, SLOT(onStartRecordPushButton))
Есть ли другие методы обрезки сигнала на первые 10 мс или начала записи только при поступлении ненулевого сигнала? Спасибо
Вы также можете подумать о том, что QTimer doc. рассказывает про Точность и разрешение таймера.





QTimer :: singleShot принимает в качестве аргумента миллисекунды, а не секунды. Ваш звонок, вероятно, должен выглядеть так:
QTimer->singleShot(10, this, SLOT(onStartRecordPushButton))
Пожалуйста, взгляните на
QTimer::singleShot(): первый параметр имеет типintи ожидает время в миллисекунды. Предоставление0.010означает (после преобразования вint), что вы запрашиваете 0 миллисекунд, то есть немедленный выстрел после возврата в цикл событий. Вероятно, вам понадобится10на 10 миллисекунд.