• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Проигрываем .wav Звучки Без Mediaplayer

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,551
Баллы
155
Многие начинающие - Делфисты сталкиваются с ситуацией, когда нужно проиграть какой нибудь звук, безприменения компонента MediaPlayer.

Сделать это можно достаточно просто, нужно лишь воспользоваться функцией API PlaySound. Для этого:

1) Прописываем в Uses модуль MMSystem и кидаем на форму один Button;

2) Создаем обработчик событий OnClick на кнопке где прописываем следующее:

Код:
begin

PlaySound('C:/Мелодия.wav', 0, SND_ASYNC);

end;

3) Берем какой нибудь .wav файл, переименовываем его в Мелодия.wav, кидаем его на диск C:/ и нажимаем на наш Button. Если код написали внимательно, будет проигрываться указанный звук или мелодия.

Кому интересно не много узнать об этой функции, теперь по подробнее:

function PlaySound(pszSound:PChar; hmod:HINST; fdwSound:Cardinal) :boolean;

pszSound: - Здесь задает имя звукового файла или адрес ресурса, по которому находится звук (в нашем коде это ('C:/Мелодия.wav'));

hmod: - Handle на модуль где содержится ресурс, он используется только при хранении звуковых данных в ресурсе, а для загрузки звукового

файла он должен быть равен нулю NULL или 0; (в нашем случае, поскольку мы проигрываем звуковой файл это (0));

fdwSound: - Управляющий флаг (Способ воспроизведения). Ниже привожу некоторые "флажки":

SND_MEMORY - Проигрывание содержимого памяти (Если звук помещен в переменную памяти);

SND_SYNC - Проигрывать синхронно; (Флаг замораживает программу на время воспроизведения);

SND_ASYNC - Проигрывать асинхронно; (Выполняется не зависимо от процесса работы программы);

SND_LOOP - Воспроизведение постоянно повторяется;

SND_PURGE - Остановка звука;

Существуют также другие флаги для управления воспроизведением, а в нашем случае использован флаг (SND_ASYNC);

Флаги также можно комбинировать с помощью логической операции or или знака + ; Например для непрерывного асинхронного воспроизведения мы

можем перестроить наш код следующим образом:


Код:
begin

PlaySound('C:/Мелодия.wav', 0, SND_ASYNC + SND_LOOP);

end;

Ну вот вроде бы и все...
 
Вверх Снизу