Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 52

/ вопрос открыт /

Как послать звук через динамик компа????????
Работаю в Delphi5 в ОС Windows2000.
Пробовал BEEP - посылает через звуковую плату
Пробовал BEEP(37, 1000) - Не компилирует.

Как послать звук на динамик компа? Хочу задавать разную тональность.
Но надо, чтобы была возможность настроить, посылать этот звук через динамик или звуковую карту (это для разных машин).
Спасибо!!!!!!!!

Игорь Середюк Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Игорь Середюк (статус: Посетитель)
Вопрос отправлен: 21 июня 2006, 11:25
Состояние вопроса: открыт, ответов: 3.

Ответ #1. Отвечает эксперт: bruder

Здравствуйте, Игорь.
Эта процедура Вам поможет.

Приложение:
  1. procedure Sound(Frequency, Duration: Integer);
  2. asm
  3. push edx
  4. push eax
  5. mov eax, Win32Platform
  6. cmp eax, VER_PLATFORM_WIN32_NT
  7. jne @@9X
  8. call Windows.Beep
  9. ret
  10. @@9X:
  11. pop eax
  12. pop edx
  13. push ebx
  14. push edx
  15. mov bx, ax
  16. mov ax, 34DDh
  17. mov dx, 0012h
  18. cmp dx, bx
  19. jnc @@2
  20. div bx
  21. mov bx, ax
  22. in al, 61h
  23. test al, 3
  24. jnz @@1
  25. or al, 3
  26. out 61h, al
  27. mov al, 0B6h
  28. out 43h, al
  29. @@1:
  30. mov al, bl
  31. out 42h, al
  32. mov al, bh
  33. out 42h, al
  34. call Windows.Sleep
  35. in al, 61h
  36. and al, 0FCh
  37. out 61h, al
  38. jmp @@3
  39. @@2:
  40. pop edx
  41. @@3:
  42. pop ebx
  43. end;


Ответ отправил: bruder (статус: 4-ый класс)
Время отправки: 21 июня 2006, 11:46

Ответ #2. Отвечает эксперт: Darya Ermakova

Дело в том, что по умолчанию используется SysUtils.Beep, он без параметров. Чтобы указать длительность и частоту, нужно указать Windows.Beep. Правда при этом звук тоже посылается на звуковую плату.
Может, вам помогут стандартные звуки Винды, они звучат в динамике и вызываются функцией MessageBeep.

Ответ отправила: Darya Ermakova (статус: 8-ой класс)
Время отправки: 21 июня 2006, 11:59
Оценка за ответ: 5

Ответ #3. Отвечает эксперт: min@y™

Покопался в тырнете и нашёл, пожалуй, то, что надо:

TSpeaker v.1.3.11.05.2005 FWS 14 Kb 12 Jul 2005
By MacroSoftware Public Area. Control your PC speaker in Delphi in design- and run-time mode.


TSpeaker features:


* works in design- and run-time mode;
* full Object Inspector control (i e. frequency and duration for sound);
* can play single sounds and sound-sequences;
* event with handled parameter;
* works under Windows 9x and NT family.

Fully functional
Source: Included

Сцыла на скачивание вот: http://www.torry.net/vcl/sound/pcspeaker/Speaker.zip

Скачал себе, вдруг пригодицца?

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 21 июня 2006, 14:44


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 21 июня 2006, 14:50; участников в обсуждении: 1.
min@y™

min@y™ (статус: Доктор наук), 21 июня 2006, 14:50 [#1]:

Вообще, зайди вот сюды: http://www.torry.net/pages.php?s=85
Тут много ещё чего интересного для PC-Speaker'a.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.02 сек.