![]() |
Laute Frequez für Windows.Beep ?
Hi, ich will in meinem Program über den internen Speaker einen Hinweis-Ton ausgeben lassen.
Da es sich um Windows XP handelt kann ich dies ja einfach über den folgenden Befehl machen.
Delphi-Quellcode:
Allerdings würde mich interessieren, welche Frequenz + Länge Windows bei seinem beep hat. Mein Problem ist, dass die Lautstärke stark variiert, so ist z.b. eine Frequenz vom 900 deutlich lauter als 950 und ich benötige eine Frequenz, die man gut hört, allerdings sollte sie nicht zu hoch sein, wobei auch bei höheren Frequenzen das gleiche Problem auftritt.
Windows.Beep(Frequenz, Dauer);
Event. kennt ja jemand ein paar Kombinationen? :) Zur zeit bin ich bei 900hz und 200 ms, allerdings ist mir das noch zu leise^^ Wenn Windows nen Fehler meldet ist der beep meiner Ansicht nach lauter. |
Re: Laute Frequez für Windows.Beep ?
|
Re: Laute Frequez für Windows.Beep ?
Damit hatte ich es schon mal Probiert, nur kommt da folgende fehlermeldung bei:
Delphi-Quellcode:
MessageBeep(-1);
bzw. windows.messagebeep(-1); Zitat:
Außerdem steht im MSDN: Zitat:
Edit: ich verwende Delphi7 |
Re: Laute Frequez für Windows.Beep ?
Wo hast Du die -1 her? Wenn Du den Lautsprecher verwenden willst geht das so:
Delphi-Quellcode:
Das Argument ist ein Cardinal, d.h ohne Vorzeichen.
MessageBeep($FFFFFFFF);
Gruß, teebee |
Re: Laute Frequez für Windows.Beep ?
Der def. Windows-PC-Speaker-Piepton Strg + G auf der Console ist:
Delphi-Quellcode:
:wink:
windows.beep(800, 200);
Zitat:
Delphi-Quellcode:
Windows.MessageBeep(uType: Cardinal):LongBol;
|
Re: Laute Frequez für Windows.Beep ?
Ich glaube, die starken Lautstärkeunterschiede sind auch von der Eigenresonanzfrequenz des jeweiligen Rechners abhängig. Will sagen, daß 900 Hz auf dem einem Rechner lauter sein kann als dem anderen. Auch die jeweiligen Lautsprecher haben so ihre "Lieblingsfrequenzen".
|
Re: Laute Frequez für Windows.Beep ?
Hallo, das -1 bezieht sich nur auf C !!!
Der lautsprecher im PC , oder die PC-Boxen, sind nicht linear. Es gibt also eine wellige resonanzkurve. Sie ist abhängig von der membramgröße, die der box und wie sie innen aufbaut ist. Bei Zwei lautsprechen kommt noch hinzu, daß sich beide Lautstärken verstärken , oder auslöschen. Da aber die verstärker und lautsprecher nicht phasentreu sind, kann es passieren, daß eine phasenverschiebung zwischen den lautsprechern auftritt und es zu auslöschungen, oder verstärkungen kommt. |
Re: Laute Frequez für Windows.Beep ?
also ich würde nicht auf den internen speaker vertrauen. Bei den meisten Systemen gibt der gar keinen ton aus weil er irgendwo abgeschaltet wurde.
Der Rechner wo ich dran sitze gibt weder bei windows.beep noch bei windows.messagebeep einen Ton von sich. Vielleicht wäre es sinnvoller ein Hinweis fenster anzuzeigen. |
Re: Laute Frequez für Windows.Beep ?
Hallo Thorben,
die Lautstärke des internen Lautsprechers ist von Gehäuse zu Gehäuse unterschiedlich und hängt außerdem vom Amplituden-/Frequenzgang ab, der von Lautsprecher zu Lautsprecher unterschiedlich und bei derart billigen Konstruktionen keineswegs linear ist. So etwas wie "Lieblingsfrequenzen" lassen sich also nicht allgemein definieren, daher solltest du lieber auf den Audioausgang der Soundkarte oder eine herkömmliche Meldung als Hinweis zurückgreifen. Mit freundlichen Grüßen, Ben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz