как заменить Windows. Звуковой сигнал с современным звуком звукового сигнала, который прибывает от докладчиков с корректируемым объемом?
Попробуйте этот
uses MMSystem;
procedure TForm1.Button1Click(Sender: TObject);
begin
sndPlaySound('C:\Windows\Media\sound.wav',
SND_NODEFAULT Or SND_ASYNC Or SND_LOOP);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
sndPlaySound(nil, 0); // Stops the sound
end;
Забавно, что вы спросите. Я как раз читал про историю гудка окон. Закон об американцах с ограниченными возможностями вынудил Beep API не меняться последние 20 с лишним лет.
Для Windows 7, мы решили проблему полностью - мы переместили все функциональность, которая раньше была содержащиеся в Beep.Sys в пользователя режим системных звуков агент - теперь, когда вы вызываете API Beep () вместо манипулируя чипом 8254, вызов перенаправлен в агент пользовательского режима, который на самом деле воспроизводит звуки.
Итак, краткий ответ: установите Windows 7. Более длинный ответ: не используйте beep api.Получите звуковой сигнал и воспроизведите его, как любой другой шум.
Вы можете заменить вызов звукового сигнала выполнением ET BEEP, который имеет редактор для всех видов инопланетных звуков.
Если вы хотите использовать "стандартные" звуковые сигналы, используемые Windows при отображении MessageBox, вы можете вызвать Windows.MessageBeep(MessageID)
, где MessageID соответствует тем же значениям, что и идентификаторы иконок MessageBox (MB_OK, MB_ERROR и т.д.).
Одна из проблем с этим заключается в том, что пользователи могут сопоставить любой звук или вообще никакой звук с определенными идентификаторами.