Компания Creative хорошо известна на рынке акустической аппаратуры. В том числе и как производитель качественной компьютерной акустики.
Однако, после замены отслуживших верой и правдой девять лет "Creative Inspire T10" на "Creative GigaWorks T20 Series II", в последних обнаружилась серьёзная проблема.
В соответствии с европейскими правилами энергосбережения, данные колонки переходили в спящий режим по прошествии приблизительно двенадцати минут отсутствия аудио сигнала.
И выходили они из него с задержкой от трёх до пяти секунд. Этой паузы было достаточно для того, чтобы не воспроизводились сообщения мессенджеров и любые другие короткие звуки.
Самое обидное, что в остальном данные колонки показали себя с самой наилучшей стороны.
Был отправлен запрос производителю о способах решения этой досадной проблемы. На что в своём ответном письме техподдержка Creative сообщила, что функцию энергосбережения отключить нельзя.
Вскрыть новые колонки, и попытаться отключить таймер аппаратно, выглядело не лучшим решением. Зато попытка программно обмануть систему оказалась вполне успешной.
О ней и пойдёт речь ниже.
Решение
Для того, чтобы колонки не уходили в спящий режим, достаточно циклично воспроизводить через динамики звук, с периодичностью не превышающей величину таймера.
В качестве такого звука, в программе "Sound Forge Pro 10.0" был сгенерирован неразличимый на слух синусоидальный сигнал с частотой 20 кГц и продолжительностью 50 миллисекунд.
Для отсутствия треска и щелчков при его воспроизведении, к нему было применено сглаживание "FadeIn" и "FadeOut".
Форма получившегося сигнала представляла собой нечто похожее на то, что изображено на скриншоте.
Если вам лень самому разбираться в настройках аудио-редакторов и генерировать звуковой файл, то можно скачать готовый по ссылке: "0000.wav"
Для проигрывания файла было решено создать простейший скрипт на языке для написания сценариев "AutoIt v3", и скомпилированный файл программы поместить в "Автозагрузку".
Таким образом, при каждом запуске системы, он будет воспроизводить наш неслышимый звук в бесконечном цикле каждые пять-десять минут, что не даст колонкам уйти в спящий режим.
Исполняемый код скрипта предельно прост:
Opt('TrayIconHide', 1) ; скрывает программу в трее
FileInstall('0000.wav', '0000.wav') ; распаковывает звуковой файл в папку с приложением, если его там нет
SoundSetWaveVolume(100) ; устанавливает уровень воспроизводимого звука
While 1 ; начало бесконечного цикла
Sleep(1000) ; задержка перед воспроизведением звука, в мс (60000 = 1 мин)
SoundPlay('0000.wav') ; воспроизведение звука
Sleep(500000) ; интервал между воспроизведением звука, в мс (60000 = 1 мин)
WEnd ; конец бесконечного цикла
Сам файл скрипта можно скачать по ссылке:
"WakeUpSound.au3"
Для нежелающих ставить "AutoIt v3" и компилить программу самостоятельно, можно скачать полностью готовую по ссылке: "WakeUpSound.zip"
Останется её разархивировать на жёсткий диск, и скопировать ярлык на "WakeUpSound.exe" в "Автозагрузку".
При первом запуске звуковой файл сам распакуется в папку с программой, и функционал отличных колонок будет полностью восстановлен :)
В случае необходимости восстановить режим энергосбережения, программу можно будет закрыть через "Диспетчер задач Windows".
Если данное решение не помогло в вашем конкретном случае, то можно попробовать увеличить уровень звукового сигнала, или уменьшить интервал его воспроизведения.
Возможно Ваши колонки более требовательны к его громкости, или засыпают раньше, чем звук успевает воспроизводиться.