Hai imparato a caricare un file tramite WebRequest?
L'unica cosa rimasta da imparare è PlaySound (che potrebbe avere senso in un consulente/servizio separato),
ma"Il file deve trovarsi nella directory terminal_directory\Sounds o nella sua sottodirectory. Solo i file audio in formato WAV possono essere riprodotti". fare un collegamento in anticipo da una directory all'altra (da Files/Sound a Sound/Files, per esempio).
e voilà - senza superare le capacità di MT e senza DLL esterne tutto dovrebbe funzionare.
E un'altra cosa, il documento WebRequest dice che ci sono 2 varianti di questa funzione. Il primo funziona con Content-Type: application/x-www-form-urlencoded, che ovviamente non è adatto, perché IBM chiede "header "Content-Type: application/json"
Ma questo è tutto quello che ho capito finora
Perché avete bisogno di questa WebRequest di cattivo gusto? Lefunzioni socket sono disponibili da tempo, anche con 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 Financeint 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 darà un errore - se in bin e poi in qualche modo da bin
Реter Konow: Il compito è molto complicato, quasi impossibile perché i confini dell'obiettivo sono indefiniti. Cosa dovrebbe annunciare esattamente l'EA? Se solo il prezzo, possiamo integrare una serie di numeri vocalizzati che possono essere combinati. Se avete bisogno della possibilità di registrare un promemoria personalizzato sul microfono, che l'EA attiverà al momento giusto, allora non è davvero impossibile, ma MOLTO difficile. Quasi non vedo il senso di spendere tanta energia per un chip dubbio.
Sii più chiaro su ciò che vuoi fare.
il compito non è molto complicato. Fondamentalmente, tutto è già fatto e l'Expert Advisor funziona bene con la chiamata DLL, pronunciando in inglese o russo i nomi degli strumenti e i loro prezzi attuali e, se necessario, colpendo il prezzo nella regione.
Le capacità incorporate del sistema operativo Windows sono utilizzate
Con una semplice classe https://www.mql5.com/ru/forum/342293#comment_16626455 è possibile pronunciare un testo arbitrario, anche errori di esecuzione o output di printf, se qualcuno ne ha bisogno ))))
E l'implementazione con più file wav è molto complicata, hai ragione
il compito non è molto difficile. Fondamentalmente, tutto è già fatto e l'Expert Advisor funziona bene con la chiamata DLL, pronunciando in inglese o russo sia i nomi degli strumenti che i loro prezzi attuali, e, se necessario, colpendo il prezzo nella regione.
Vengono utilizzate le caratteristiche incorporate del sistema operativo Windows
Con una semplice classe https://www.mql5.com/ru/forum/342293#comment_16626455 è possibile pronunciare un testo arbitrario, anche errori di esecuzione o output di printf, se qualcuno ne ha bisogno ))))
E l'implementazione con più file wav è molto complicata, hai ragione
Non avete un compito formulato e quindi non è chiaro cosa deve essere fatto. Per far dire all'assessore quello che vuole? Ma cosa dovrebbe dire esattamente? Come si fa a dirgli di leggere il nome del simbolo? :) Non sarete in grado di comunicare con il consulente, anche se formalmente "parla" il testo. Non si può fargli leggere un testo che sia pertinente ad un evento. Come lo istruite a leggere le impronte o i registri?)
Ok, supponiamo che l'EA scriva il testo da pronunciare in un file e lo invii via web-quest o socket al server, e il server, in obbedienza, lo pronunci. Teoricamente possibile, ma non è un compito facile...
Реter Konow: Non avete un problema formulato e quindi non è chiaro cosa deve essere risolto. Fare in modo che l'Expert Advisor dica quello che vuoi tu? Ma cosa dovrebbe dire esattamente? Come si fa a dirgli di leggere il nome del simbolo? :) Non sarete in grado di comunicare con il consulente anche se formalmente "parla" il testo. Non puoi fargli leggere il testo che è rilevante per un evento. Come lo istruite a leggere le impronte o i registri?)
Ho bisogno di risolvere il problema di trasformare un testo arbitrario in un file wav senza usare chiamate DLL )
Реter Konow: Supponiamo che il nostro EA scriva un testo da parlare in un file e lo invii al server tramite WebRequest o socket, e il server gli parli. Teoricamente è possibile, ma non è un compito facile...
Ho bisogno di risolvere il problema di trasformare un testo arbitrario in un file wav senza usare chiamate DLL )
Tutto il resto è già risolto
Non so... questo è il problema irrisolvibile... Avete bisogno di un servizio web speciale che prenda un file di testo da voi, lo converta in wav, lo rimandi alla vostra cartella Sounds e riscriva il vecchio file. O semplicemente, riceverlo e parlarne senza convertirlo in .wav
Hai imparato a caricare un file tramite WebRequest?
L'unica cosa rimasta da imparare è PlaySound (che potrebbe avere senso in un consulente/servizio separato),
ma"Il file deve trovarsi nella directory terminal_directory\Sounds o nella sua sottodirectory. Solo i file audio in formato WAV possono essere riprodotti". fare un collegamento in anticipo da una directory all'altra (da Files/Sound a Sound/Files, per esempio).
e voilà - senza superare le capacità di MT e senza DLL esterne tutto dovrebbe funzionare.
E un'altra cosa, il documento WebRequest dice che ci sono 2 varianti di questa funzione. Il primo funziona con Content-Type: application/x-www-form-urlencoded, che ovviamente non è adatto, perché IBM chiede "header "Content-Type: application/json"
Ma questo è tutto quello che ho capito finora
ecco quanto è interessante
bat darà un errore - se in bin e poi in qualche modo da bin
Perché avete bisogno di questa WebRequest di cattivo gusto? Le funzioni socket sono disponibili da molto tempo, anche con TLS.
Vedo che sei una persona esperta, puoi aiutarmi a scrivere un esempio di riferimento per le prese?
La documentazione è quihttps://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket
Ho capito cheinstance_id è GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB
Mentre fumava il doc...
Il compito è molto complicato, quasi impossibile perché i confini dell'obiettivo sono indefiniti. Cosa dovrebbe annunciare esattamente l'EA? Se solo il prezzo, possiamo integrare una serie di numeri vocalizzati che possono essere combinati. Se avete bisogno della possibilità di registrare un promemoria personalizzato sul microfono, che l'EA attiverà al momento giusto, allora non è davvero impossibile, ma MOLTO difficile. Quasi non vedo il senso di spendere tanta energia per un chip dubbio.
il compito non è molto complicato. Fondamentalmente, tutto è già fatto e l'Expert Advisor funziona bene con la chiamata DLL, pronunciando in inglese o russo i nomi degli strumenti e i loro prezzi attuali e, se necessario, colpendo il prezzo nella regione.
Le capacità incorporate del sistema operativo Windows sono utilizzate
Con una semplice classe https://www.mql5.com/ru/forum/342293#comment_16626455 è possibile pronunciare un testo arbitrario, anche errori di esecuzione o output di printf, se qualcuno ne ha bisogno ))))
E l'implementazione con più file wav è molto complicata, hai ragione
il compito non è molto difficile. Fondamentalmente, tutto è già fatto e l'Expert Advisor funziona bene con la chiamata DLL, pronunciando in inglese o russo sia i nomi degli strumenti che i loro prezzi attuali, e, se necessario, colpendo il prezzo nella regione.
Vengono utilizzate le caratteristiche incorporate del sistema operativo Windows
Con una semplice classe https://www.mql5.com/ru/forum/342293#comment_16626455 è possibile pronunciare un testo arbitrario, anche errori di esecuzione o output di printf, se qualcuno ne ha bisogno ))))
E l'implementazione con più file wav è molto complicata, hai ragione
Non avete un problema formulato e quindi non è chiaro cosa deve essere risolto. Fare in modo che l'Expert Advisor dica quello che vuoi tu? Ma cosa dovrebbe dire esattamente? Come si fa a dirgli di leggere il nome del simbolo? :) Non sarete in grado di comunicare con il consulente anche se formalmente "parla" il testo. Non puoi fargli leggere il testo che è rilevante per un evento. Come lo istruite a leggere le impronte o i registri?)
Ho bisogno di risolvere il problema di trasformare un testo arbitrario in un file wav senza usare chiamate DLL )
Tutto il resto è già risolto
Supponiamo che il nostro EA scriva un testo da parlare in un file e lo invii al server tramite WebRequest o socket, e il server gli parli. Teoricamente è possibile, ma non è un compito facile...
non c'è bisogno di scrivere sul file. WebRequest
Ho bisogno di risolvere il problema di trasformare un testo arbitrario in un file wav senza usare chiamate DLL )
Tutto il resto è già risolto