Entwickler-Ecke

Windows API - Sound über internen Lautsprecher ausgeben?


NetZwerg - Do 22.04.04 14:48
Titel: Sound über internen Lautsprecher ausgeben?
Hallo,

Computer haben ja auch einen internen Lautsprecher, ist es möglich den mit Delphi anzusprechen?? Ich würde darüber nämlich gerne ein paar Töne ausgeben. AntiVir macht das ja auch, wenn es einen Virus findet. Und in QBasic geht es ja auch ganz einfach (naja, is ja ne ältere DOS-Programmiersprache...)

cYa, Dave


Delete - Do 22.04.04 15:30

*überleg* Hm, gibt´s eigentlich beep noch? Früher bei TurboPASCAL konnte man, mit einiger Übung, regelrecht Musik machen. Vergleichbar etwa mit den Handy-Klingeltönen der 1. Generation (also nichts polyphones). Ansonsten fällt mir von der API-Seite noch [msdn]MessageBeep[/msdn] ein.

PS: Oh, das [msdn]-Suchtag existiert hier noch nicht. Schau mal ins MSDN [http://msdn.microsoft.com], falls du das PSDK nicht hast.


Simon Joker - Do 22.04.04 15:44

Hi

Beep und MessageBeep bleiben ohne gewünschte Wirkung, wenn soundkarte installiert ist. Dann wird einfach der Windowsdong abgespielt!


MAlsleben - Do 22.04.04 16:15

Hi,

es gibt noch in der Unit Windows ein beep, das nicht identisch ist mit dem Pascal - Beep, welcher nur die API- Funktion MassageBeep aufruft. Die API Funktion Beep hat noch 2 Parameter, Frequenz in Hz und Dauer in ms.
Aufruf in Delphi in etwa so:

Delphi-Quelltext
1:
2:
3:
4:
   windows.Beep(1000,500);
   sleep(500);                           // Pause zwischen den Tönen
   windows.Beep(125,500);
   sleep(500);


Das ganze hat bei mir zumindest unter NT ohne Soundkarte über den internen Lautsprecher funktioniert,

Gruß Micha


NetZwerg - Do 22.04.04 16:40

jo, das mit windows.beep(...) funktoniert, danke!! :D

// EDIT: funktioniert unter XP mit funktionstüchtiger Soundkarte!! :dance:


Delete - Do 22.04.04 17:10

MAlsleben hat folgendes geschrieben:
es gibt noch in der Unit Windows ein beep, das nicht identisch ist mit dem Pascal - Beep, welcher nur die API- Funktion MassageBeep aufruft. Die API Funktion Beep hat noch 2 Parameter, Frequenz in Hz und Dauer in ms.

Die gab´s früher bei TP auch, mit exakt diesen Parametern.