написан на Линукс/Питоне.
Этот механизм можно использовать для Входа/Выхода и других функций внутри помещения. Вход/выход происходит с помощью тач панели на двери. Сама дверь тоже на Линуксе/Питоне. К двери подключен спикер через USB.
Проблема:
Все функционирует до тех пор, пока не происходит отсоединение USB, если по какой-то причине происходит плаг/анплаг, спикер перестает издавать звуковые коды ошибки/сакксеса. Дверь перестает разговаривать кароче. Вообще звук пропадает, пока не сделать ребут двери(лол).
Код не могу скинуть, так как рабочий проект. Не подкинете идеи как задебагать? Звук двери инициализируется pygame.mixer, может в нем проблема?
Сейчас из идей только постоянный прослушиватель юсб портов, который будет ре-инициализировать pygame.mixer, в случае реконнекта ЮСБ. Два дня уже пытаюсь задебагать дверь этим методом, но что-то никак не получается. Может есть ещё какие-то мысли? Другой способ, который стоит попробовать.
Переписать не используя модуль нельзя.
При попытки проигрывания звука на «отвалившееся» звуковое устройство что происходит? Может привязать к этой ошибке перезапуск звука?
На pygame.mixer я бы стал грешить в последнюю очередь. Попробуй просто в линуксе включить постоянный писк и посмотри, как он поведёт себя при плаге-анплаге. Если тоже вырубится, проблема в системе. Возможно, в линуксе при анплаге сбрасывается выбор дефолтного звукового устройства и его надо обратно выставлять.
Спасибо, за мысль. Завтра на работе поковыряю код в этом направление.
Очень годная мысль. Нужно обязательно попробовать. Спасибо, парни. @aimoroz @Saluev
У меня есть подозрение, что при каждом отвале звука звуковое устройство при подключении получает новое имя. Если не смотрели в эту сторону, то проверьте!
Проверял, имя остается прежним, айди тоже сохраняется. До и после плага/анплага.
А громкость в "0" не сбрасывает?
Нет, не сбрасывает. На фоне запускали музыку, работало. Две идеи хорошие подкинули, надо их будет попробовать завтра.
Обсуждают сегодня