• Инструменты для разработчика

    • Самые удобные инстременты для разработчика, которые облегчат жизнь любого как начинающего так и продвинутого разработчика. Украшатели, уменьшители, конвертеры кодов. Доменные инструменты. Всё в одном комплекте.
  • Использование BB кодов. Тут указаны существующие BB коды на форуме.

Delphi Воспроизведение звука

  • Автор темы RedCat
  • Дата создания
  • Ответов 0
  • Просмотров 413

RedCat

Пользователь
Регистрация
25.12.2017
Сообщения
7
Репутация
3
Баллы
0
Награды
0
Лучшие ответы
0
При программировании на Delphi, у новичков иногда возникает вопрос, как возпроизводить звуки(музыку). Это можно сделать несколькими способами, стандартными возможностями среды разработки/языкаи сторонними. рассмотрим некоторые из способов

1 Способ - Стандартный компонент TMediaPlayer
Компонент TMediaPlayer использует MCI(Media Control Interface) ОС Windows, он умеет возпроизводить звуки и видео тех форматов, на которые в системе установлены кодеки, а так же записывать звук с выбранного в системе устройства записи в wav файл.

пример:
открытия файла и возпроизведение
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
остановка
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
пауза
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
реализация полосы прокрутки
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
реализация записи
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
так же к стандартным способам можно отнести воспроизведение звука напрямую при помощи MMSystem. Так-же помимо стандартных способов можно использовать сторонние библиотеки, на пример Bass.dll

для начала нужно создать переменную которая будет хранить заголовок потока с которым работает bass
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
затем саму библиотеку нужно инициализировать, на событие FormOnCreate нужно написать
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
, где первый параметр устройство вывода звука(чтобы использовать то устройство которое стоит в системе по умолчанию ставится параметр -1)
второй частота дискретизации на выходе, третий дополнительные настройки(вывод в моно, включение 3D звука и т.д ) 0 означает вывод по стандарту в 16 бит, четвертый параметр хэндл вашего приложения и пятый параметр используется при нестандартном выводе звука с использованием DirectSound по умолчанию ставится nil
затем перед воспроизведением файла нужно создать поток
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
Где первый параметр это воспроизведение из памяти если true из файла если false, второй параметр имя файла, третий смещение начала воспроизведения файла, четвертый выбор конца воспроизведения, и пятый дополнительные настройки для текущего потока при декодировании(вывод в моно, включение 3D звука и т.д)

и собственно сама процедура воспроизведения
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
остановка
Код:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
Более полное описание идет в комплекте с библиотекой.
Так же в Delphi можно подключать другие модули например выводить звук самому через Dsound или OpenAL с использованием сторонних декодеров, об этом в другой теме:smile_not:
 
Сверху Снизу