Python: robienie hałasu
Staram się, żeby program dawał mi sygnał dźwiękowy. Jestem na maszynie z windows. Spojrzałem na http://docs.python.org/library/winsound.html
Ale nie wiem, jak Mogę to zaprogramować skanerem kodów kreskowych. Oto Mój kod do seryjnego skanera kodów kreskowych.ser = serial.Serial()
ser.baudrate = 9600
#for windows
ser.port = 2 #for COM3
ser.open()
ser.write('hello')
ser.close()
UPDATE: ponieważ denerwuję moich współpracowników sygnałem dźwiękowym. Czy mogę go dostać przez gniazdo audio dla słuchawek?
6 answers
W systemie Windows, jeśli chcesz po prostu sprawić, aby komputer wydał sygnał dźwiękowy:
import winsound
frequency = 2500 # Set Frequency To 2500 Hertz
duration = 1000 # Set Duration To 1000 ms == 1 second
winsound.Beep(frequency, duration)
The winsound.Beep()
może być używany wszędzie tam, gdzie ma wystąpić sygnał dźwiękowy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-16 09:16:03
Wieloplatformowym sposobem na to jest print '\a'
. Spowoduje to wysłanie znaku ASCII Bell na stdout i, miejmy nadzieję, wygeneruje sygnał dźwiękowy (a dla 'alert'). Zauważ, że wiele nowoczesnych emulatorów terminali zapewnia opcję ignorowania znaków dzwonka.
Ponieważ jesteś w systemie Windows, z przyjemnością usłyszysz, że Windows ma swój własny (nawiń klamrę) Beep API , który pozwala wysyłać sygnały dźwiękowe o dowolnej długości i wysokości. Zauważ, że jest to rozwiązanie tylko dla Windows, więc prawdopodobnie powinieneś preferuj print '\a'
, chyba że zależy Ci na hercach i milisekundach.
Interfejs Beep API jest dostępny przez moduł winsound: http://docs.python.org/library/winsound.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-30 16:07:16
Linux.
$ apt-get install beep
$ python
>>> os.system("beep -f 555 -l 460")
Lub
$ beep -f 659 -l 460 -n -f 784 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 880 -l 230 -n -f 659 -l 230 -n -f 587 -l 230 -n -f 659 -l 460 -n -f 988 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 1047-l 230 -n -f 988 -l 230 -n -f 784 -l 230 -n -f 659 -l 230 -n -f 988 -l 230 -n -f 1318 -l 230 -n -f 659 -l 110 -n -f 587 -l 230 -n -f 587 -l 110 -n -f 494 -l 230 -n -f 740 -l 230 -n -f 659 -l 460
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-24 14:25:43
Szukałem tego samego, ale dla powłoki Linuksa.
Temat przyniósł mi odpowiedź, -dzięki -
Może bardziej pythoniczny sposób:
import os
beep = lambda x: os.system("echo -n '\a';sleep 0.2;" * x)
beep(3)
Uwagi:
- wartość uśpienia (tutaj 0.2), zależy od długości (sekund) domyślnego sygnału dźwiękowego
- wybrałem
os.system
zamiastsubprocess.Popen
dla prostoty (może być źle) - '- N ' dla {[3] } ma nie mieć już wyświetlacza
- ostatni"; " po {[4] } jest niezbędny do uzyskania Sekwencja tekstu (*x)
- testowane również przez ssh na X term
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-03 15:00:53
Zrobiłem pakiet w tym celu.
Możesz go użyć tak:
from pybeep.pybeep import PyVibrate, PyBeep
PyVibrate().beep()
PyVibrate().beepn(3)
PyBeep().beep()
PyBeep().beepn(3)
To zależy od sox i obsługuje tylko python3.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-05 16:05:58
Droga Krzyżowa:
import time
import sys
for i in range(1,6):
sys.stdout.write('\r\a{i}'.format(i=i))
sys.stdout.flush()
time.sleep(1)
sys.stdout.write('\n')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-13 11:36:02