ГРОМКОСТЬ ЗВУКА ИЗ ДЕЛФИ
Delphi – прекрасный инструмент для создания различных приложений, включая те, которые работают с мультимедийными данными, например, проигрыватели музыки. Одним из ключевых аспектов работы с мультимедиа является возможность управления громкостью звука. Для этого в Delphi доступны несколько способов.
Первый способ заключается в использвании Audio Mixer API, который позволяет контролировать громкость звука в приложении. Для этого можно использовать следующий код:
procedure SetVolume(AVolume: Integer);var VolCtrl: HMixer; MixCaps: TMixerCaps; MixCtrl: TMixerControl; MixCtrlDetails: TMixerControlDetails; MixCtrlValue: TMixerControlDetailsUnsigned;begin mixerOpen(@VolCtrl, 0, 0, 0, MIXER_OBJECTF_MIXER or CALLBACK_WINDOW); mixerGetDevCaps(VolCtrl, @MixCaps, SizeOf(MixCaps)); mixerClose(VolCtrl); mixerOpen(@VolCtrl, MixCaps.wMid, 0, 0, MIXER_OBJECTF_MIXER or CALLBACK_WINDOW); MixCtrl.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME; mixerGetControlDetails(VolCtrl, @MixCtrl, MIXER_GETCONTROLDETAILSF_BYTYPE); MixCtrlDetails.cbStruct := SizeOf(MixCtrlDetails); MixCtrlDetails.dwControlID := MixCtrl.dwControlID; MixCtrlDetails.cChannels := 1; MixCtrlDetails.cbDetails := Sizeof(MixCtrlValue); MixCtrlValue.dwValue := AVolume; MixCtrlDetails.paDetails := @MixCtrlValue; mixerSetControlDetails(VolCtrl, @MixCtrlDetails, MIXER_SETCONTROLDETAILSF_VALUE); mixerClose(VolCtrl);end;
В этом примере процедура SetVolume() принимает один параметр AVolume, который задает процент громкости для установки. Разумеется, не забудьте объявить все необходимые типы и переменные в основной части вашего кода.
Второй способ управления громкостью звука основан на использовании Windows Multimedia API. Для этого можно воспользоваться следующим кодом:
procedure SetMasterVolume(volume: Cardinal);var hwo: HWAVEOUT; vol: Cardinal;begin WaveOutOpen(@hwo, WAVE_MAPPER, 0, 0, 0, 0); { Set volume } vol := (volume or (volume shl 16)); WaveOutSetVolume(hwo, vol); WaveOutClose(hwo);end;
В этом примере процедура SetMasterVolume() принимает один параметр volume, который задает значение громкости в диапазоне 0-65535.
Конечно, это только примеры, и в вашем коде может быть множество других способов работы с громкостью звука, в зависимости от ваших потребностей и особенностей приложения.
Воспроизведение звука Delphi, MediaPlayer, PlaySound
Урок на делфи 55. Аудио плеер (media player).
Звуковое сопровождение в программе Delphi - уроки Delphi
Что такое ДЕЦИБЕЛ #5. Звук. Громкость звука. Давление звука. Сила звука.
Урок Delphi. Компонент MediaPlayer. Воиспр. звуков. файл
Что делать если пропадает звук, часть 1
Добавляем звук в программу на Delphi