并再次进行dll和营销 - 页 13 1...67891011121314151617181920...32 新评论 Andrei Trukhanovich 2020.05.31 17:22 #121 nkaretnikov: 没有DLL,就不能从沙盒中播放wav文件? 来自帮助 例如,如果音频文件Demo.wav位于terminal_data_directory/MQL5/Files文件夹中,那么PlaySound()调用 应该这样写。 //------从terminal_data_directory\MQL5\Files\PlaySound("\\Files\\Demo.wav")中播放声音文件Demo.wav。 问题是playsound引擎本身有缺陷。它没有把声音结合起来,而是在新的命令到来时就停止播放前一个声音。 市场上有一个要求,即产品应该开箱即用,不依赖第三方模块。但也可以做一个激进的举动--在playsound crutch上做一个盒子的解决方案,如果你有一些模块,例如在kodobase中发布的,通过win引擎使用一个正常的解决方案。我理解它也可以做文本识别。 Serhii Shevchuk 2020.05.31 17:26 #122 nkaretnikov: 我看你是个有经验的人,你能帮我写一个插座参考例子吗? 文件在这里https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket 我理解的实例_ID 是GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB 当我在阅读文件时... 你的查询到底失败在哪里?文档 中有很好的例子。 我现在没有时间,而且这也是没用的东西。 关于你的链接--如果你不能使用WebSocket--最好不要使用,你会节省很多时间(如果你没有这方面的经验)。除了WebSocket,还有其他选择。 Документация по MQL5: Сетевые функции / SocketCreate www.mql5.com //| SocketExample.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com | //| Отправка команды на сервер |... Nikolai Karetnikov 2020.05.31 17:27 #123 Andrei Trukhanovich: 来自帮助 例如,如果Demo.wav声音文件位于terminal_data_directory/MQL5/Files文件夹中,PlaySound()调用 应该这样写。 //------从terminal_data_directory\MQL5\Files\PlaySound("\\Files\\Demo.wav")中播放声音文件Demo.wav。 问题是playsound引擎本身有缺陷。它没有把声音结合起来,而是在新的命令到来时就停止播放前一个声音。 市场要求产品应该开箱即用,不依赖第三方模块。但也有可能采取激进的做法--在playsound crutch上做一个盒子的解决方案,如果你有一些模块,例如kodobase,通过wind引擎使用一个正常的解决方案。 这正是我的观点!) 是的,2种方式。 第一种方式是PlaySound,根据发音速度进行暂停。但我遇到了这样的情况,在调用原生Windows TTS功能的阶段,当第二个短语进入繁忙流时,我们会得到一个运行时错误。因此,根据每分钟100个字符的发音速度,在课堂上有一个延迟。原则上,我们摆脱了这种情况。 方法2--用封闭的代码生成测试文件,用开放的代码用启用的DLL播放它 Реter Konow 2020.05.31 17:31 #124 Serhii Shevchuk: 为什么要在文件夹里写一些不必要的东西?PlaySound可以从资源中播放,见链接 中的 "使用资源"。 P.S. 我自己没有试过,但既然文档中写了,就一定是可以的。 那么,计算机想要一个通用的解决方案,我们不需要将声音资源整合到专家顾问中。他想设计一个专家顾问和服务器之间的互动系统,首先创建一个NOW需要用户说的话的文本文件,服务器将其转换为.wav并发回给专家顾问。接下来,"专家顾问 "在不知情的情况下,写下了这个文件,以取代之前的文件(有服务器上的之前的配音),并调用PlaySound来播放新的配音。这个计划不可能成功。 Serhii Shevchuk 2020.05.31 17:35 #125 Реter Konow: 那么,TC希望有一个通用的解决方案,不需要事先将声音资源整合到专家顾问中。他想设计一个专家顾问和服务器之间的互动系统,首先创建一个NOW应该由用户说的话的文本文件,服务器将其转换为.wav并发回给专家顾问。接下来,"专家顾问 "在不知情的情况下,写下了这个文件,以取代之前的文件(有服务器上的之前的配音),并调用PlaySound来播放新的配音。 这样的计划不可能成功。 我的意思是使用ResourceCreate 从收到的数据中创建一个资源。然后用PlaySound播放。但我没有在例子中找到确切的这种联系(我不确定它是否有效)。 这就是为什么我删除了以前的信息。 Документация по MQL5: Общие функции / ResourceCreate www.mql5.com [in] Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки Если второй вариант функции вызывается для... Реter Konow 2020.05.31 17:38 #126 Serhii Shevchuk: 我的意思是使用ResourceCreate 从收到的数据中创建一个资源。然后用PlaySound播放。但我在例子中没有找到这样的链接(不知道是否能用)。 所以我删除了以前的信息。 酷的想法。可以试试,虽然我不确定))))。 Nikolai Karetnikov 2020.05.31 17:43 #127 Serhii Shevchuk: 你的查询到底是什么原因不工作?文档 中有很好的例子。 我现在没有时间去搞清楚谈话者协议,而且也没有用。 关于你的链接--如果你不能使用WebSocket--最好不要使用,你会节省很多时间(如果没有这方面的经验)。除了WebSocket,还有其他选择。 以下是失败的原因 https://www.mql5.com/ru/forum/342293/page12#comment_16633648 文件已创建,但为空。其名称 与curl命令下载的文件不同。 这有点暗示着你写的代码 //+------------------------------------------------------------------+ //| WebRequest.mq5 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string cookie=NULL,headers; char post[],result[]; char cost_char_data[]; string result_headers; headers = headers + "-u apikey:GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB"; headers = headers + " --header \"Content-Type: application/json\""; headers = headers + " --header \"Accept: audio/wav\""; headers = headers + " --data \"{\"text\":\"hello world\"}\""; headers = headers + " --output hello_world.wav"; //output hello_world.wav ^ string url="https://api.eu-gb.text-to-speech.watson.cloud.ibm.com"; //--- для работы с сервером необходимо добавить URL "https://finance.yahoo.com" //--- в список разрешенных URL (Главное меню->Сервис->Настройки, вкладка "Советники"): //--- обнуляем код последней ошибки ResetLastError(); //--- загрузка html-страницы с Yahoo Finance int res = WebRequest("POST",url,headers,1000,cost_char_data,result,result_headers); if(res==-1) { Print("Ошибка в WebRequest. Код ошибки =",GetLastError()); //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION); } else { if(res==200) { //--- успешная загрузка PrintFormat("Файл успешно загружен, размер %d байт.",ArraySize(result)); //PrintFormat("Заголовки сервера: %s",headers); //--- сохраняем данные в файл int filehandle=FileOpen("output hello_world.wav",FILE_WRITE|FILE_BIN); if(filehandle!=INVALID_HANDLE) { //--- сохраняем содержимое массива result[] в файл FileWriteArray(filehandle,result,0,ArraySize(result)); //--- закрываем файл FileClose(filehandle); } else Print("Ошибка в FileOpen. Код ошибки =",GetLastError()); } else PrintFormat("Ошибка загрузки '%s', код %d",url,res); } } //+------------------------------------------------------------------+ 没有正确形成WebRequest的语法。 也就是说,它未能使WebRequest做Curl所做的事情 и снова dll и маркет 2020.05.31www.mql5.com День добрый! Правило №1 dll на Маркете запрещен... Serhii Shevchuk 2020.05.31 17:49 #128 Nikolai Karetnikov: 这里是不工作的地方 https://www.mql5.com/ru/forum/342293/page12#comment_16633648..... 我可以看一下,但在明天晚上之前不行。如果你到时还没有自己解决。 Реter Konow 2020.05.31 18:02 #129 如果声音文件可以从Files文件夹中回放,它是由EA预先录制的,那么如果产生的声音文件是连贯的,那么问题的解决将是现实的。 Maxim Kuznetsov 2020.05.31 18:06 #130 Nikolai Karetnikov: 这里是不工作的地方 https://www.mql5.com/ru/forum/342293/page12#comment_16633648 文件被创建,但它是空的。其名称 与curl命令下载的文件不同 这就暗示了你写的代码 没有正确形成WebRequest的语法。 也就是说,你不能让WebRequest做curl做的事。 而你不会 :-) 为什么要在HTTP头文件中传递curl命令选项? 好吧,至少读一些书,看一些例子......否则,我们真的会给你写一篇文章。 1...67891011121314151617181920...32 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
没有DLL,就不能从沙盒中播放wav文件?
来自帮助
例如,如果音频文件Demo.wav位于terminal_data_directory/MQL5/Files文件夹中,那么PlaySound()调用 应该这样写。
//------从terminal_data_directory\MQL5\Files\
PlaySound("\\Files\\Demo.wav")中播放声音文件Demo.wav。
问题是playsound引擎本身有缺陷。它没有把声音结合起来,而是在新的命令到来时就停止播放前一个声音。
市场上有一个要求,即产品应该开箱即用,不依赖第三方模块。但也可以做一个激进的举动--在playsound crutch上做一个盒子的解决方案,如果你有一些模块,例如在kodobase中发布的,通过win引擎使用一个正常的解决方案。我理解它也可以做文本识别。
我看你是个有经验的人,你能帮我写一个插座参考例子吗?
文件在这里https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket
我理解的实例_ID 是GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB
当我在阅读文件时...
你的查询到底失败在哪里?文档 中有很好的例子。
我现在没有时间,而且这也是没用的东西。
关于你的链接--如果你不能使用WebSocket--最好不要使用,你会节省很多时间(如果你没有这方面的经验)。除了WebSocket,还有其他选择。
来自帮助
例如,如果Demo.wav声音文件位于terminal_data_directory/MQL5/Files文件夹中,PlaySound()调用 应该这样写。
//------从terminal_data_directory\MQL5\Files\
PlaySound("\\Files\\Demo.wav")中播放声音文件Demo.wav。
问题是playsound引擎本身有缺陷。它没有把声音结合起来,而是在新的命令到来时就停止播放前一个声音。
市场要求产品应该开箱即用,不依赖第三方模块。但也有可能采取激进的做法--在playsound crutch上做一个盒子的解决方案,如果你有一些模块,例如kodobase,通过wind引擎使用一个正常的解决方案。
这正是我的观点!)
是的,2种方式。
第一种方式是PlaySound,根据发音速度进行暂停。但我遇到了这样的情况,在调用原生Windows TTS功能的阶段,当第二个短语进入繁忙流时,我们会得到一个运行时错误。因此,根据每分钟100个字符的发音速度,在课堂上有一个延迟。原则上,我们摆脱了这种情况。
方法2--用封闭的代码生成测试文件,用开放的代码用启用的DLL播放它
为什么要在文件夹里写一些不必要的东西?PlaySound可以从资源中播放,见链接 中的 "使用资源"。
P.S. 我自己没有试过,但既然文档中写了,就一定是可以的。
那么,TC希望有一个通用的解决方案,不需要事先将声音资源整合到专家顾问中。他想设计一个专家顾问和服务器之间的互动系统,首先创建一个NOW应该由用户说的话的文本文件,服务器将其转换为.wav并发回给专家顾问。接下来,"专家顾问 "在不知情的情况下,写下了这个文件,以取代之前的文件(有服务器上的之前的配音),并调用PlaySound来播放新的配音。
我的意思是使用ResourceCreate
从收到的数据中创建一个资源。然后用PlaySound播放。但我没有在例子中找到确切的这种联系(我不确定它是否有效)。 这就是为什么我删除了以前的信息。
我的意思是使用ResourceCreate
从收到的数据中创建一个资源。然后用PlaySound播放。但我在例子中没有找到这样的链接(不知道是否能用)。 所以我删除了以前的信息。
你的查询到底是什么原因不工作?文档 中有很好的例子。
我现在没有时间去搞清楚谈话者协议,而且也没有用。
关于你的链接--如果你不能使用WebSocket--最好不要使用,你会节省很多时间(如果没有这方面的经验)。除了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命令选项?
好吧,至少读一些书,看一些例子......否则,我们真的会给你写一篇文章。