Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
il n'est pas possible de lire un fichier wav à partir d'un bac à sable sans DLL ?
de l'aide
Par exemple, si le fichier audio Demo.wav se trouve dans le dossier terminal_data_directory\MQL5\Files, l'appel PlaySound() doit être écrit de cette manière :
//--- Jouer le fichier son Demo.wav depuis le répertoire terminal_data_directory\MQL5\Files\
PlaySound("\\\Files\\\\\\Demo.wav");
Le problème est que le moteur playsound lui-même est défectueux. Il ne combine pas les sons, mais arrête de jouer le précédent dès qu'une nouvelle commande arrive.
Le marché exige que le produit soit prêt à l'emploi et ne dépende pas de modules tiers. Mais il est possible de prendre une décision radicale : créer une solution en boîte sur la béquille playsound et, si vous disposez d'un module, par exemple dans kodobase, utiliser une solution normale par le biais du moteur wind.
Je vois que vous êtes une personne expérimentée, pouvez-vous m'aider à rédiger un exemple de référence de prise de courant ?
La documentation est icihttps://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket
Je comprends que l'instance_id est GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB.
Pendant que je lis le document...
Quelle est la raison exacte de l'échec de votre requête ? Il existe de bons exemples dans la documentation.
Je n'ai pas le temps maintenant, et c'est une chose inutile.
En ce qui concerne votre lien - si vous ne pouvez pas utiliser WebSocket - mieux vaut ne pas l'utiliser, vous gagnerez beaucoup de temps (si vous n'avez pas d'expérience en la matière). Il existe d'autres options que WebSocket.
de l'aide
Par exemple, si le fichier son Demo.wav se trouve dans le dossier terminal_data_directory\MQL5\Files, l'appel PlaySound() doit être écrit de cette manière :
//--- Jouer le fichier son Demo.wav depuis le répertoire terminal_data_directory\MQL5\Files\
PlaySound("\\\Files\\\\\\Demo.wav");
Le problème est que le moteur playsound lui-même est défectueux. Il ne combine pas les sons, mais arrête de jouer le précédent dès qu'une nouvelle commande arrive.
le marché exige que le produit fonctionne tout de suite et ne dépende pas de modules tiers. mais il est possible de faire un mouvement radical et de faire une solution de boîte sur la béquille playsound et si vous avez un certain module, par exemple dans kodobase, utilisez une solution normale par le moteur de vent. qui je comprends peut faire la reconnaissance de texte aussi.
c'est exactement ce que je veux dire ! )
Oui, de deux façons.
La première méthode est PlaySound et les pauses sont basées sur la vitesse de prononciation. Mais j'ai rencontré ce problème et au moment d'appeler les fonctions TTS natives de Windows, lorsque la deuxième phrase entre dans un flux occupé, nous obtenons une erreur d'exécution. Par conséquent, il y a un retard dans la classe basé sur la vitesse de prononciation de 100 caractères par minute. En gros, nous sortons de cette situation.
Méthode 2 - Générer le fichier de test par un code fermé et le lire par un code ouvert avec les DLLs activées
Pourquoi écrire inutilement quelque chose dans le dossier ? PlaySound peut jouer à partir de ressources, voir "Utilisation des ressources" dans le lien
P.S. Je ne l'ai pas essayé moi-même, mais puisque c'est écrit dans la documentation, cela doit être possible.
Eh bien, TC souhaite une solution universelle, où il n'est pas nécessaire d'intégrer au préalable des ressources sonores dans Expert Advisor. Il veut concevoir un système d'interaction entre le conseiller expert et le serveur, dans lequel le premier crée un fichier texte de mots qui devraient NOW être prononcés par l'utilisateur, et le serveur les convertit en .wav et les renvoie au conseiller expert. Ensuite, le conseiller expert, sans le savoir, écrit le fichier à la place du fichier précédent (avec la précédente voix-off du serveur) et appelle PlaySound pour lire la nouvelle voix-off.
Je voulais dire en utilisant ResourceCreate
Créer une ressource à partir des données reçues. Et ensuite, jouez-le avec PlaySound. Mais je n'ai pas trouvé exactement cette connexion dans les exemples (je ne suis pas sûr qu'elle fonctionnera). C'est pourquoi j'ai supprimé le message précédent.
Je voulais dire en utilisant ResourceCreate
Créer une ressource à partir des données reçues. Et ensuite, jouez-le avec PlaySound. Mais je n'ai pas trouvé exactement un tel lien dans les exemples (je ne suis pas sûr qu'il fonctionne). J'ai donc supprimé le message précédent.
En quoi exactement votre requête ne fonctionne-t-elle pas ? Il existe de bons exemples dans la documentation .
Je n'ai pas le temps de comprendre le protocole des talkers pour le moment, et c'est inutile.
En ce qui concerne votre lien - si vous ne pouvez pas utiliser WebSocket - mieux vaut ne pas l'utiliser, vous gagnerez beaucoup de temps (si vous n'avez pas d'expérience en la matière). Il existe d'autres options que WebSocket.
voici ce qui échoue https://www.mql5.com/ru/forum/342293/page12#comment_16633648
Le fichier est créé, mais vide. Son nom
est différent du fichier qui est téléchargé par la commande curl
Ça laisse penser que le code que tu as écrit
ne forme pas correctement la syntaxe WebRequest.
C'est-à-dire qu'il n'arrive pas à faire faire au WebRequest ce que fait curl.
voici ce qui ne fonctionne pas https://www.mql5.com/ru/forum/342293/page12#comment_16633648
.....Je peux y jeter un œil, mais pas avant demain soir. Si vous ne l'avez pas encore compris vous-même.
voici ce qui ne fonctionne pas https://www.mql5.com/ru/forum/342293/page12#comment_16633648
Le fichier est créé, mais il est vide. Son nom
est différent du fichier téléchargé par la commande curl
Cela indique que le code que vous avez écrit
ne forme pas correctement la syntaxe WebRequest.
C'est-à-dire que vous ne pouvez pas faire faire à WebRequest ce que fait curl.
et vous ne le ferez pas :-)
pourquoi passe-t-on les options de la commande curl dans les en-têtes HTTP ?
au moins, lisez quelques livres, regardez quelques exemples... sinon, nous allons tous vraiment vous écrire un article