Из вашей проблемы я могу догадаться, что пользователь прекращает сканирование, когда слышит звук ошибки. Если это так, зачем ждать, пока пользователь остановит сканирование.
Вы можете выполнить любое из следующих действий.
Как только произойдет ошибка, прекратите ввод данных. Вы можете установить «нажатие клавиши», чтобы вернуть ложь. Также вы можете установить буфер для события нажатия клавиши, который сначала сохраняет входные данные, а затем возвращает false. Таким образом, вы получите данные после возникновения ошибки.