并再次进行dll和营销 - 页 11

 

你学会了如何通过WebRequest 上传文件了吗?

唯一需要学习的是PlaySound(在一个单独的顾问/服务中可能有意义)。

"该文件必须位于 terminal_directory/Sounds 或其子目录中只有WAV格式的音频文件可以播放。"事先从一个目录到另一个目录做一个链接(例如从Files/Sound到Sound/Files)。

就这样,在不超过MT能力和不需要外部DLLs的情况下,一切都可以工作。

 
Nikolai Karetnikov:

还有一件事,WebRequest 文档说这个函数有2个变体。第一个是用Content-Type: application/x-www-form-urlencoded,这显然不合适,因为IBM要求 "header "Content-Type: application/json"

但这是我目前所理解的全部内容

你为什么需要这个俗气的WebRequest?Socket功能 已经有一段时间了,包括TLS。
 

这就是它的有趣之处

   string cookie=NULL,headers;
   char   post[],result[];
   string url="https://c.mql5.com/3/321/voice.bat.txt";
//--- для работы с сервером необходимо добавить URL "https://finance.yahoo.com"
//--- в список разрешенных URL (Главное меню->Сервис->Настройки, вкладка "Советники"):
//--- обнуляем код последней ошибки
   ResetLastError();
//--- загрузка html-страницы с Yahoo Finance
   int res=WebRequest("GET",url,cookie,NULL,500,post,0,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("voice.bat",FILE_WRITE|FILE_BIN);
         if(filehandle!=INVALID_HANDLE)

图片来源

图片来源

bat会出现错误--如果在bin中,然后以某种方式从bin中 出来

快照2

 
Serhii Shevchuk:
你为什么需要这个俗气的WebRequest? Socket功能 已经存在了很长时间,包括TLS。

我看你是个有经验的人,你能帮我写一个插座参考例子吗?

文件在这里https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket

我理解的实例_ID 是GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB

在抽烟的时候,医生说他是一个很好的医生。

 
Реter Konow:
这项任务非常复杂,几乎是不可能的,因为目标的边界是不确定的。EA到底应该宣布什么?如果只是价格,那么我们可以整合出一套可以组合的发声数字。如果你需要选择记录一个自定义的提醒,专家顾问将在适当的时候打开,那么这并不是真的不可能,而是非常困难。我几乎看不出在一个可疑的芯片上花费这么多精力的意义。

要非常清楚你想做什么。

这个任务并不十分困难。基本上,一切都已经完成,专家顾问在DLL调用下工作正常,用英语或俄语念出工具的名称和它们的当前价格,如果有必要,还可以打出该地区的价格。

使用了Windows操作系统的内置功能


通过一个简单的https://www.mql5.com/ru/forum/342293#comment_16626455 类,就可以对任意的文本进行发音,甚至是运行时的错误或printf输出,如果有人需要的话))))

而使用多个wav文件的实现是非常复杂的,你说得很对

и снова dll и маркет
и снова dll и маркет
  • 2020.05.30
  • www.mql5.com
День добрый! Правило №1 dll на Маркете запрещен...
 
nkaretnikov:

这个任务并不十分困难。基本上,一切都已经完成,专家顾问在DLL调用下工作正常,用英语或俄语同时念出工具的名称和它们的当前价格,如果有必要,还可以打出该地区的价格。

Windows操作系统的内置功能被用于


通过一个简单的https://www.mql5.com/ru/forum/342293#comment_16626455 类,就可以对任意的文本进行发音,甚至是运行时的错误或printf输出,如果有人需要的话))))

而使用多个wav文件的实现是非常复杂的,你说得很对

你没有制定任务,因此不清楚需要做什么。让议员说任何他/她想说的话?但是,他到底应该说些什么呢?你如何告诉它读取符号的名称?:)即使顾问正式 "说 "出文字,你也无法与他沟通。你不能让他读与某个事件有关的文本。你如何指导他阅读指纹或日志?)
 
好吧,假设EA把要讲的文字写到一个文件里,并通过网络请求或套接字发送至服务器,而服务器则顺从地讲出来。理论上是可能的,但不是一件容易的事......

将时间延迟考虑在内。
 
Реter Konow:
你没有制定问题,因此不清楚需要解决什么问题。让专家顾问说任何你想说的话?但它到底应该怎么说呢?你如何告诉它读取符号的名称?:)即使顾问正式 "说 "出文字,你也无法与他沟通。你不能让他读与某个事件有关的文本。你如何指导他阅读指纹或日志?)

我需要解决在不使用DLL调用的情况下将任意文本转换为wav文件的问题 )

其他一切都已经解决了

 
Реter Konow:
假设我们的EA写了一个要说话的文本到一个文件中,并通过WebRequest或套接字将其发送给服务器,而服务器则与之对话。理论上是可能的,但不是一件容易的事......

就不需要写到文件中去。WebRequest 方法的格式

и снова dll и маркет
и снова dll и маркет
  • 2020.05.31
  • www.mql5.com
День добрый! Правило №1 dll на Маркете запрещен...
 
nkaretnikov:

我需要解决在不使用DLL调用的情况下将任意文本转换为wav文件的问题 )

其他一切都已经解决了

我不知道...这是一个无法解决的问题...你需要一个特殊的网络服务,从你那里获取一个文本文件,将其转换为wav文件,将其送回你的Sounds文件夹,并重写旧文件。或者干脆,接受它并把它讲出来,而不把它转换为.wav。