Ich versuche, das Programm dazu zu bringen, mir ein piependes Geräusch zu geben. Ich bin auf einer Windows-Maschine. Ich habe mir http://docs.python.org/library/winsound.html angesehen
Aber nicht sicher, wie ich das mit einem Barcode-Scanner programmieren kann.
Hier ist mein Code für den seriellen Barcode-Scanner.
ser = serial.Serial()
ser.baudrate = 9600
#for windows
ser.port = 2 #for COM3
ser.open()
ser.write('hello')
ser.close()
UPDATE: Da ich meine Kollegen mit dem Piepton ärgere. Kann ich es über die Audio-Buchse für Kopfhörer bekommen?
python
audio
serial-port
Marc Brigham
quelle
quelle
Antworten:
Wenn Sie unter Windows nur möchten, dass der Computer einen Signalton ausgibt:
Das
winsound.Beep()
kann überall dort verwendet werden, wo der Piepton auftreten soll.quelle
def annoy(): for i in range(1, 10): winsound.Beep(i * 100, 200)
def sos(): for i in range(0, 3): winsound.Beep(2000, 100) for i in range(0, 3): winsound.Beep(2000, 400) for i in range(0, 3): winsound.Beep(2000, 100)
. Ich sollte jetzt wahrscheinlich wieder arbeiten: DDer plattformübergreifende Weg, dies zu tun, ist zu
print '\a'
. Dies sendet das ASCII-Bell-Zeichen an stdout und erzeugt hoffentlich einen Piepton (a für 'alert'). Beachten Sie, dass viele moderne Terminalemulatoren die Option bieten, Glockenzeichen zu ignorieren.Da Sie unter Windows arbeiten, werden Sie erfreut sein zu hören, dass Windows über eine eigene Beep-API verfügt , mit der Sie Signaltöne beliebiger Länge und Tonhöhe senden können. Beachten Sie, dass dies eine reine Windows-Lösung ist. Daher sollten Sie es wahrscheinlich vorziehen, es
print '\a'
sei denn, Sie interessieren sich wirklich für Hertz und Millisekunden.Auf die Beep-API wird über das Winsound- Modul zugegriffen : http://docs.python.org/library/winsound.html
quelle
Linux.
ODER
quelle
os.system
ist in Ordnung, besonders mit einem fest codierten Wert, nicht jeder schreibt einen Webserver.-f 1047-l
, sollte sein-f 1047 -l
, Platz fehltIch habe nach dem gleichen gesucht, aber nach der Linux-Shell.
Das Thema brachte mich zu einer Antwort, danke
Vielleicht pythonischer:
Anmerkungen :
os.system
ehersubprocess.Popen
für die Verwendung entschieden (es könnte schlecht sein)echo
soll keine Anzeige mehr habensleep
ist für die resultierende Textsequenz erforderlich (* x)quelle
echo
(print
) undsleep
, daher ist es eigentlich nicht pythonisch, externe Aufrufe durchzuführen, insbesondere wenn es sich um (nicht portierbare) Unix-Aufrufe handelt.Es gibt eine Windows-Antwort und eine Debian-Antwort. Hier ist eine Mac- Antwort :
Dies setzt voraus, dass Sie nur hier nach einer schnellen Möglichkeit suchen, einen anpassbaren Alarmton zu erzeugen, und nicht speziell nach dem piezeoelektrischen Piepton, den Sie unter Windows erhalten:
Haftungsausschluss: Sie können
os.system
dassubprocess
Modul durch einen Aufruf ersetzen, wenn Sie befürchten, dass jemand Ihren Signaltoncode hackt.Siehe: So lassen Sie den Hardware-Piepton in Mac OS X 10.6 ertönen
quelle
Der plattformübergreifende Weg:
quelle
sys.stdout.write('\a')
Ich habe zu diesem Zweck ein Paket gemacht.
Sie können es so verwenden:
Es hängt von Sox ab und unterstützt nur Python3.
quelle
Verwendung
pygame
auf jeder PlattformDer Vorteil der Verwendung
pygame
besteht darin, dass sie auf jeder Betriebssystemplattform verwendet werden kann. Der folgende Beispielcode ist jedoch für GNU / Linux .Installieren Sie zuerst das
pygame
Modul für,python3
wie hier ausführlich erläutert .Das
pygame
Modul kann Dateien von jedem Speicherort abspielen.wav
und.ogg
abspielen. Hier ist ein Beispiel:quelle