が、「The file must be located in terminal_directory ○○Sounds or its subdirectory.WAV形式の音声ファイルのみ再生可能です。」あらかじめ、あるディレクトリから別のディレクトリにリンクを張っておく(例えば、Files/SoundからSound/Filesへなど)。
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)
WebRequestで ファイルをアップロードする方法はお分かりいただけたでしょうか?
あとはPlaySoundを学ぶだけです(これは別のアドバイザー・サービスで意味を成すかもしれません)。
が、「The file must be located in terminal_directory ○○Sounds or its subdirectory.WAV形式の音声ファイルのみ再生可能です。」あらかじめ、あるディレクトリから別のディレクトリにリンクを張っておく(例えば、Files/SoundからSound/Filesへなど)。
MTの能力を超えることなく、また外部DLLを使用することなく、すべてがうまくいくはずです。
そしてもうひとつ、WebRequestの ドキュメントによると、この関数には2つのバリエーションがあるそうです。最初のものはContent-Type: application/x-www-form-urlencodedで動作しますが、IBMは "ヘッダー "Content-Type: application/json "を要求しているので、明らかに適切ではありません。
しかし、これまで私が理解したのはそれだけです。
それだけに面白い
batがエラーを出す - binにある場合、そしてなぜかbinから
なぜこんな安っぽいWebRequestが必要なのか? ソケット機能は、TLSを含め、以前から提供されています。
あなたは経験豊富な方だと思いますが、ソケットのリファレンス例を書くのを手伝ってもらえますか?
ドキュメントはこちらhttps://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket
instance_id は GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB であることがわかりました。
ドックを吸いながら...
この作業は非常に複雑で、ターゲットの境界が不定であるため、ほとんど不可能です。EAは具体的に何を発表すればいいのでしょうか?価格だけなら、発声可能な数字のセットを組み合わせて統合すればいいのです。もし、Expert Advisorが適切なタイミングでオンになるようなカスタムリマインダーを記録するオプションが必要なら、それは不可能ではありませんが、非常に難しいことなのです。怪しげなチップにこれほどエネルギーを費やす意味がほとんどわからない。
この作業は、それほど難しいものではありません。基本的に全ては既に完了しており、Expert Advisor は DLL 呼び出しにより、英語またはロシア語で商品名とその現在の価格、そして必要であれば地域を打つ価格を発音して正常に動作します。
Windowsオペレーティングシステムの内蔵機能を使用
単純な https://www.mql5.com/ru/forum/342293#comment_16626455 クラスを使えば、任意のテキストを発音することが可能です。誰かが必要とすれば、実行時エラーやprintf出力も発音します )))
また、複数のwavファイルを使用する実装は非常に複雑で、あなたの言うとおりです
この作業は、それほど難しいものではありません。基本的に全ては既に完了しており、Expert Advisor は DLL 呼び出しによって正常に動作し、英語またはロシア語で商品名とその現在の価格の両方を発音し、必要に応じて地域の価格を打ちます。
Windowsオペレーティングシステムの組み込み機能を使用する
単純な https://www.mql5.com/ru/forum/342293#comment_16626455 クラスを使えば、任意のテキストを発音することが可能です。誰かが必要とすれば、実行時エラーやprintf出力も発音します )))
また、複数のwavファイルを使用する実装は非常に複雑で、あなたの言うとおりです
問題が定式化されていないため、何を解決すべきかが明確でない。Expert Advisorに好きなことを言わせる?しかし、具体的に何を書けばいいのか?シンボル名を読み取るように指示するにはどうすればよいのでしょうか?:)アドバイザーが形式的に文章を「しゃべって」いても通じない。ある事象に関連する文章を読ませることはできない。プリントやログの読み取りはどのように指示するのですか?)
DLLコールを使用せずに任意のテキストをwavファイルに変換する問題を解決したい )
その他はすべて解決済み
私たちのEAが話すべき文章をファイルに書いてWebRequestやソケットでサーバーに送り、サーバーがそれを話すとします。理論的には可能だが、簡単な作業ではない・・・。
は、ファイルに書き込む必要はありません。WebRequest メソッドの形式を合わせる必要があります。
DLLコールを使用せずに任意のテキストをwavファイルに変換する問題を解決したい )
その他はすべて解決済み