![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
проиграть wav файл из песочницы без DLL невозможно?
из справки
Например, если звуковой файл Demo.wav лежит в папке каталог_данных_терминала\MQL5\Files, то вызов PlaySound() должен быть записан таким образом:
//--- проиграем звуковой файл Demo.wav из папки каталог_данных_терминала\MQL5\Files\
PlaySound("\\Files\\Demo.wav");
проблема в том что сам движок playsound ущербный. он не совмещает звуки, а прекращает играть предыдущий, как только поступает новая команда.
в маркете есть требование что продукт должен работать из коробки, не зависеть от сторонних модулей. но можно сделать ход конем - сделать коробочное решение на костыле playsound а при наличии какого-то модуля, выложенного например в кодобазе, использовать нормальное решение через виндовый движок. который я так понимаю и распознавание текста тоже умеет.
Вы я вижу человек с опытом, поможете написать пример обращения через сокет?
Документация тут https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket
instance_id я так, понимаю, равен GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB
Пока курю доку...
Что именно у Вас не получается с запросом? В документации есть хорошие примеры.
Разбираться с протоколом говорилки сейчас нет времени, да и бесполезная это вещь.
Что касается Вашей ссылки - если можно не использовать WebSocket - лучше не используйте, сэкономите кучу времени (ели нет опыта работы с ним). Там кроме вебсокета есть и другие варианты.
из справки
Например, если звуковой файл Demo.wav лежит в папке каталог_данных_терминала\MQL5\Files, то вызов PlaySound() должен быть записан таким образом:
//--- проиграем звуковой файл Demo.wav из папки каталог_данных_терминала\MQL5\Files\
PlaySound("\\Files\\Demo.wav");
проблема в том что сам движок playsound ущербный. он не совмещает звуки, а прекращает играть предыдущий, как только поступает новая команда.
в маркете есть требование что продукт должен работать из коробки, не зависеть от сторонних модулей. но можно сделать ход конем - сделать коробочное решение на костыле playsound а при наличии какого-то модуля, выложенного например в кодобазе, использовать нормальное решение через виндовый движок. который я так понимаю и распознавание текста тоже умеет.
вот и я о том же! )
Да, 2 способа.
1й способ - PlaySound и паузы из расчета скорости произнесения. Но с этим я столкнулся и на этапе вызова родных Windows TTS возможностей, при попадании в занятый поток второй фразы получаем ошибку времени выполнения. Поэтому, в классе есть задержка из расчета скорости воспроизведения в 100 символов в минуту. В принципе выходим из ситуации
2й способ - Формировать закрытым кодом тестовый файл, а открытым кодом с разрешенными DLL его воспроизводить
Зачем лишний раз что-то писать в папку? PlaySound может играть из ресурсов, см. абзац "Использование ресурсов" по ссылке
P.S. Сам не пробовал, но раз в документации написано, значит можно
Дык, ТС ведь хочет универсальное решение, при котором не нужно заранее интегрировать звуковые ресурсы в советник. Он хочет, чтобы спроектировать систему взаимодействия советника и сервера, при котором первый формирует текствый файл из слов, которые СЕЙЧАС нужно сказать пользователю, сервер их конвертирует в .wav и отсылает обратно в советник. Далее, советник неведомым образом, записывает файл на место прежнего файла (с предыдущей озвучкой от сервера) и вызывает PlaySound для воспроизведения новой озвучки.
Я имел ввиду использование ResourceCreate
Создать ресурс из принятых данных. И потом играть его PlaySound-ом. Но именно такую связку я в примерах не нашёл (не уверен, что будет работать). Поэтому удалил предыдущее сообщение.
Я имел ввиду использование ResourceCreate
Создать ресурс из принятых данных. И потом играть его PlaySound-ом. Но именно такую связку я в примерах не нашёл (не уверен, что будет работать). Поэтому удалил предыдущее сообщение.
Что именно у Вас не получается с запросом? В документации есть хорошие примеры.
Разбираться с протоколом говорилки сейчас нет времени, да и бесполезная это вещь.
Что касается Вашей ссылки - если можно не использовать WebSocket - лучше не используйте, сэкономите кучу времени (ели нет опыта работы с ним). Там кроме вебсокета есть и другие варианты.
вот что не получается https://www.mql5.com/ru/forum/342293/page12#comment_16633648
Файл создается, но пустой. Его имя
отличается от файла, который скачивается curl командой
Это как бы намекает, что написанный код
неправильно формирует синтаксис WebRequest.
Т.е. не получается заставить WebRequest делать то же, что делает curl
вот что не получается https://www.mql5.com/ru/forum/342293/page12#comment_16633648
.....Могу посмотреть, но не раньше, чем завтра вечером. Если сами до того времени не разберетесь.
вот что не получается https://www.mql5.com/ru/forum/342293/page12#comment_16633648
Файл создается, но пустой. Его имя
отличается от файла, который скачивается curl командой
Это как бы намекает, что написанный код
неправильно формирует синтаксис WebRequest.
Т.е. не получается заставить WebRequest делать то же, что делает curl
и не выйдет :-)
зачем вы в HTTP заголовки передаёте опции команд curl ???
блин, ну хоть почитайте книжек, полистайте примерчиков...а то действительно, мы всем кагалом пишем вам статью