Новая компьютерная игра МУ-МУ.
Герасим использует Му-му по умолчанию.
В модуле MMSystem есть функции
waveOutSetVolume(WAVE_MAPPER, AVolume)
midiOutSetVolume(MIDI_MAPPER, AVolume)
которые регулируют громкость в зависимости от формата музыки.
AVolume: Longint - старший разряд - правый канал, младший - левый
Проблема с изменением громкости с помощью SetVolume не имеет желаемого эффекта!
Давайте разбираться, что может быть причиной этой проблемы.
Вы используете модуль MMSystem, который предоставляет функции для работы с аудио устройствами. В частности, вы пытаетесь изменить громкость с помощью waveOutSetVolume и midiOutSetVolume. Эти функции должны изменять громкость аудио выводного устройства в зависимости от формата музыки (WAVE или MIDI).
Возможно, проблема заключается в том, что эти функции не изменяют общую громкость системы. Вместо этого они только влияют на громкость конкретного устройства или потока.
Вот несколько потенциальных причин, почему SetVolume не имеет эффекта:
Устройство-специфичное: Изменения громкости, которые вы делаете, могут не влиять на 기본ное аудио выводное устройство. Убедитесь, что выбранное устройство является правильным в настройках звука вашей системы.
Поток-специфичное: Если вы играете несколько потоков одновременно, каждый поток может иметь свой собственный уровень громкости. Вам нужно будет изменять уровень громкости для каждого потока отдельно.
Уровни микшера: Некоторые системы используют микшер или аудиомикшер для комбинации и изменения уровня громкости различных аудиосource. Ваш SetVolume может не влиять на эти уровни микшера.
Чтобы troubleshoot дальше, вы можете попробовать:
Использовать другую функцию управления громкостью, например, waveOutGetVolume и midiOutGetVolume, чтобы увидеть, правильно ли получаются текущие настройки уровня громкости.
Проверить настройки звука вашей системы, чтобы убедиться, что выбранное устройство настроено корректно и уровень громкости не выключен или не уменьшен.
Расследовать другие аудио-связанные коды в вашем программе, чтобы увидеть, может ли быть другой компонент, который переопределяет настройки уровня громкости.
Если вам все еще не удается решить проблему, пожалуйста, предоставьте больше деталей о вашей установке и коде, и я постараюсь помочь вам отладить проблему!
Функция SetVolume не дает никакого эффекта, поскольку она не использует функции модуля MMSystem waveOutSetVolume и midiOutSetVolume для регулирования громкости в зависимости от формата музыки.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.