Сначала подумал о реализации этого, используя потоки, но python не имеет способа убить потоки. Я прочитал другую тему об убийстве потоков. Есть ли какой-либо надлежащий независимый от платформы способ сделать это?Как воспроизводить звук до тех пор, пока пользователь не наткнется на ключ?
ответ
Я думаю, что вам лучше использовать таймер Tk для периодического звонка, а затем остановить его, когда вы получите нажатие клавиши.
См. http://www.java2s.com/Code/Python/GUI-Tk/Clockevent.htm для примера, как использовать таймер.
Таким образом, вы избежите создания другого потока.
Можно ли остановить таймер после нажатия клавиши? http://python.active-venture.com/lib/timer-objects.html - Здесь я нахожу, что вы можете остановить таймер только до начала действия. – dante
@ dante: вы можете просто не активировать его. (не звонок .after) – EFraim
http://code.activestate.com/recipes/492231/- Это помогло мне. – dante
Можете ли вы уточнить? Это можно сделать в pygame, но вам нужно будет открыть графическое окно.
Вы должны указать целевую платформу, как минимум. (И тип звука API ...) – EFraim
Платформа: Windows. Я использую bell() в tk для воспроизведения звука. Я хочу повторить звук до тех пор, пока пользователь не наткнет ключ. – dante