Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Системные звуки Windows, Вызов звуков Windows 
V
    Опции темы
AndreyANM
Дата 4.1.2006, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 4.1.2006

Репутация: нет
Всего: нет



Как моей программе вызвать системные звуки, такие как
восклицание (плим), фатальная ошибка (бдам) и другие подобные.
(функцию playsound не бепокоить)

Спасибо что читаете этот бред.
PM MAIL   Вверх
Poseidon
Дата 4.1.2006, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



Ну если playsound не бепокоить, то используй TMediaPlayer


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Snowy
Дата 10.1.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Цитата(AndreyANM @ 4.1.2006, 19:21 Найти цитируемый пост)
Как моей программе вызвать системные звуки, такие как восклицание (плим), фатальная ошибка (бдам) и другие подобные.

Через PlaySound.

Цитата(AndreyANM @ 4.1.2006, 19:21 Найти цитируемый пост)
(функцию playsound не бепокоить)

А есть другие варианты?
В третьем параметре укажи флаг SND_ALIAS.
С ним доступны все стандартные звуки, перечисленные в
HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default
PM MAIL   Вверх
VAVII
Дата 11.1.2006, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 7.1.2006

Репутация: нет
Всего: нет



Если совсем извратится то можно напрямую подавать звук на устройство WaveOut!

Есть еще вариант:
Код

uses
  MMSystem; 

procedure SendMCICommand(Cmd: string); 
var 
  RetVal: Integer; 
  ErrMsg: array[0..254] of char; 
begin 
  RetVal := mciSendString(PChar(Cmd), nil, 0, 0); 
  if RetVal <> 0 then 
  begin 
    {get message for returned value} 
    mciGetErrorString(RetVal, ErrMsg, 255); 
    MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0); 
  end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  SendMCICommand('open waveaudio shareable'); 
  SendMCICommand('play "C:\xyz\BackgroundMusic.wav"'); 
  SendMCICommand('play "C:\xyz\AnotherMusic.wav"'); 
  SendMCICommand('close waveaudio'); 
end;

PM MAIL   Вверх
Snowy
Дата 11.1.2006, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Цитата(VAVII @ 11.1.2006, 10:24 Найти цитируемый пост)
play "C:\xyz\BackgroundMusic.wav"

В принципе верно, только брать не свои звуки, а системные.
Путь к ним можно найти в реестре в
Цитата(Snowy @ 10.1.2006, 14:05 Найти цитируемый пост)

HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default

Но лучше все же использовать PlaySound, т.к. он предназначен для этих вещей.
Воспроизведение системных звуков входит в его функционал.
PM MAIL   Вверх
AndreyANM
Дата 18.1.2006, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 4.1.2006

Репутация: нет
Всего: нет



Я раньше уже пробоваль вызывать системные звуки, для этого существует
специальная процедура, в которой следует указать только номер звука (тип Byte).

Но к сожалению я забыл как она называется. Может кто - нибудь знает?
PM MAIL   Вверх
Snowy
Дата 18.1.2006, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



MessageBeep
Но она воспроизводит только пять звуков:
Цитата
MB_ICONASTERISK SystemAsterisk
MB_ICONEXCLAMATION SystemExclamation
MB_ICONHAND SystemHand
MB_ICONQUESTION SystemQuestion
MB_OK SystemDefault

PM MAIL   Вверх
AndreyANM
Дата 18.1.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 4.1.2006

Репутация: нет
Всего: нет



Наконец то!!!
Это то что мне и было нужно. Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.