Индикатор не воспроизводит звуки на некоторых устройствах

 

Здравствуйте!

Есть сторонний индикатор, который в определённые моменты наносит на график торгового инструмента графические объекты и при этом воспроизводит стандартные звук из папки MT5. Многие пользователи этого индикатора столкнулись с тем, что в некоторых терминалах эти звуки не воспроизводятся вообще. 

На моём настольном ПК MT5 установлен на Windows 10 и в нём все звуки индикатором воспроизводятся. Установил MT5 на ноутбук, где стоит Windows 7, в нём индикатор молчит. Настройки терминала были перенесены с настольного ПК. Сам MT5 воспроизводит стандартные звуки при авторизации и т.д. и там, и там, но индикатор воспроизводит их только на настольном ПК.

У другого пользователя MT5 установлен на настольном ПК и ноутбуке. На обоих устройствах стоит Windows 10, звука от индикатора нет нигде.

Доступа к коду индикатора у меня нет (и не будет).

Во вкладках "Эксперты" и "Журнал" панели инструментов MT5 нет никаких сообщений, говорящих, например, о том, что указан неверный путь до звукового файла. 

Кто-нибудь сталкивался с подобной проблемой? С чем она может быть связана?

Заранее спасибо всем за внимание!

 
Можно попробовать установить кодеки программулиной  K-Lite Codec Pack
Codec Guide: K-Lite Codec Pack - For Windows 10 / 8.1 / 7 / Vista
  • www.codecguide.com
The K-Lite Codec Pack is a free software bundle for high quality playback of all your music and video files. It is easy to use, but also very flexible with many options. Enjoy problem free playback of MKV, MP4, AVI, FLV, and all other multimedia file formats.
 

Прочитал про функцию PlaySound(). Она воспроизводит звуковой файл, расположенный в каталоге каталог_терминала\Sounds или его подкаталоге. Функция возвращает true или false.

Написал скрипт, воспроизводящий заводской файл request.wav, лежащий в папке каталог_терминала\Sounds, т.е. выполняющий команду PlaySound("request.wav"). А заодно выводящий булевый результат выполнения функции в консоль.

Запустил скрипт в двух терминалах - на том, что установлен на ПК и на том, что установлен на ноутбуке.

На ПК звук воспроизвёлся и в консоль вывелось true. На ноуте звук не воспроизвёлся и в консоль вывелось false. Файл request.wav есть в папке каталог_терминала\Sounds в обоих случаях.

Прочитал документацию:

...Эти файлы находятся в папке каталог_терминала\Sounds. Здесь каталог_терминала означает папку, из которой запущен клиентский терминал MetaTrader 5.  Программным путем из mql5-программы каталог терминала можно узнать следующим образом:

//--- Папка, в которой хранятся данные терминала
   string terminal_path=TerminalInfoString(TERMINAL_PATH);


Вывел TerminalInfoString(TERMINAL_PATH) в обоих терминалах - путь один и тот же. Результат - почему-то разный.


Читаем документацию дальше:

Можно использовать звуковые файлы не только из папки каталог_терминала\Sounds, но и из любой подпапки, находящейся в папке каталог_данных_терминала\MQL5. Расположение каталога данных терминала на компьютере можно выяснить через меню терминала "Файл"-"Открыть каталог данных" или программным путем:

//--- Папка, в которой хранятся данные терминала
   string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);

Например, если звуковой файл Demo.wav лежит в папке каталог_данных_терминала\MQL5\Files, то вызов PlaySound() должен быть записан таким образом:

//--- проиграем звуковой файл Demo.wav из папки каталог_данных_терминала\MQL5\Files\
   PlaySound("\\Files\\Demo.wav"
);


На ПК и ноуте скопировал файл request.wav и вставил его в каталог_данных_терминала\MQL5\Files\
Прописал новый путь в строке PlaySound("\\Files\\request.wav"), запустил скрипт... и, о чудо, файл воспроизвёлся и на ПК, и на ноуте!

Осталось понять, почему на ноуте он наотрез отказывается воспроизводиться из папки Sounds каталога терминала.
Истина уже где-то... чуть ближе)
P.S. Путь до каталога терминала и имя каталога терминала кириллицу не содержат.



Причина обращения: