Получение уровня громкости WinAMP'а.
Вспомнил забавный случай. При разработке «Весны-2006» оказалось, что получить программным путем уровень громкости от WinAMP штатными средствами невозможно. То есть совсем. А мне необходимо было ползунок громкости в плагине синхронизировать с громкостью самого плеера. Перерыл весь SDK к WinAMP, думал упустил где-то. Нет, действительно - никак. Остальное - что угодно: получить имя проигрываемого файла, его длительность, нажата ли кнопочка shuffle или repeat, нажать любую кнопку WinAMP'а... А получить, какая у него сейчас громкость - ни в какую. Пол-инета перерыл, пока нашел недокументированный способ:
Volume:=-666;
SoundVolume:=SendMessage(HWNDWinamp, WM_USER, Volume, IPC_SETVOLUME);
То есть сначала программно выставить громкость в -666 (естественно, она не выставится), а в «ответ» получить реальную громкость. Причем я специально проверял: с другими значениями Volume такого эффекта нет.
Вот это надо было так приколоться, а? Шутники...
Volume:=-666;
SoundVolume:=SendMessage(HWNDWinamp, WM_USER, Volume, IPC_SETVOLUME);
То есть сначала программно выставить громкость в -666 (естественно, она не выставится), а в «ответ» получить реальную громкость. Причем я специально проверял: с другими значениями Volume такого эффекта нет.
Вот это надо было так приколоться, а? Шутники...
:)
Комментарии доступны с OpenID (подробнее).