winsound

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
frisei
User
Beiträge: 9
Registriert: Montag 8. April 2013, 14:20

Hallo Python-Spezialisten
Habe eine Frage zu winsound
kurzes Beispiel

Code: Alles auswählen

# -*- coding:utf-8 -*-
from playsound import playsound 
import winsound
print("beep")
winsound.Beep(345,456)
##beep gibt keinen Ton von sich,ist aber offensichtlich damit beschäftigt
##das heißt, der nächste Befehl kommt erst nach Ablauf der Zeit

print(" exit-ton")
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)
##hier nur ein sehr leises Pipsen, auch bei voller Lautstärke

print(" Arznei")
playsound(r'D:\Projekte\ARZNEI.WAV')
##hier hört man was, das auch einigermassen laut genug ist.
print(" THE END")
-----wegen Lautstärke:
vor ein paar Tagen rufte ich eine Internetseite auf und da kam
eine dermassen laute Stimme aus dem Lautsprecher,dass ich vor Schreck
den Deckel vom Laptop zuklatschte.
Wie ist sowas möglich ??
Manchmal kommen mir Bedenken, ob ich mich mit Python auf das richtige Pferd
gesetzt habe.Bis man da mal farbigen Text auf die Konsole bringt, geschweige denn
dass mal etwas blinkt. Das war zu Turbo-Basic Zeiten ein Klacks.

mit freundlichen Grüßen
Fritz
Zuletzt geändert von Anonymous am Sonntag 17. April 2016, 11:40, insgesamt 1-mal geändert.
Grund: Quelltext in Code-Tags gesetzt.
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

Was winsound da von sich gibt, hängt von Deinen Systemeinstellungen ab. Die scheinst Du nach eigenen Angaben ziemlich zerschossen zu haben. Was farbige Konsolen anbelangt, so ist das in der Windowswelt nicht sehr verbreitet. Die schaffen nicht einmal sinnvolles Copy-Paste, geschweige denn eine zeitgemäße Zeichendarstellung.
BlackJack

@frisei: `Beep()` lässt den PC-Speaker piepsen. Den haben heutzutage bei weitem nicht mehr alle Geräte, manche tun aber noch so als wenn sie ihn hätten damit Programme die ihn erwarten noch funktionieren, bei manchen kann man ihn im BIOS abschalten, vielleicht ist die Hardware auch da, aber der Lautsprecher ist nicht mit dem Mainboard verbunden, oder das Betriebssystem hat den stummgeschaltet.

Was heisst bei 'SystemExit' bei voller Lautstärke? Welche Lautstärke? Üblicherweise hat man ja die verschiedensten Lautstärkeregler, zum Beispiel für Medienwiedergabe und für Systemtöne getrennt. Bei einigen Systemen kann man sogar pro Anwendung eine eigene Lautstärke festlegen. Oder vielleicht ist auch die Sounddatei einfach leise.

Wenn Du denkst Du hättest mit Python auf das falsche Pferd gesetzt, dann kannst Du ja gerne mal mit anderen Programmiersprachen versuchen farbigen, blinkenden Text in der Konsole hinzubekommen. Und dann ist die nächste spannende Frage wie gut diese Sprachen/Implementierungen für normale, moderne Anwendungen geeignet sind. :-)

Das ging mit Turbo-Basic so einfach weil früher die Textkonsole *die* Ausgabe war; die Programme damals selbst direkt in den Videospeicher geschrieben haben; und bei VGA a) ein Zeichen in diesem Speicher aus einem WORD (16 Bit) bestand wo die eine Hälfte das Zeichen und die andere Hälfte die Farbe kodiert hat, man also zwangsläufig immer die Farbe mit schreiben musste, und b) das blinken ein Feature von der Grafikhardware war. Damit war es für den Programmierer trivial etwas blinken zu lassen, denn man selber musste dafür nur sagen, dass das entsprechende Bit in der Hintergrundfarbe blinken statt Intensität bedeuten soll.

Das war also keine Frage der Programmiersprache sondern die Hardware zu der Zeit, die das so naheliegend einfach gemacht hat, dass die Programmiersprachen da Funktionen für mitgebracht haben.

Aktuell könntest Du dann auch sagen Du hast mit Windows auf das falsche Pferd gesetzt, denn unter Linux sind Konsolenanwendungen mit farbigen Text noch etwas alltägliches und dementsprechend gibt es dafür auch mehr Unterstützung, inklusive blinkendem Text falls das Terminal das unterstützt. Bei Python geht das mit dem `curses`-Modul aus der Python-Standardbibliothek, aber eben Standard nur unter Linux/Unix.
Antworten