Реter Konow : Expert Advisor'ın daha önce kaydettiği Files klasöründen ses dosyası çalınabiliyorsa, alınan ses dosyası eksiksiz ise sorunun çözümü gerçek olacaktır.
Değil! Belgeler, ses dosyalarının Sesler klasöründe saklanması gerektiğini söylüyor.
https://www.mql5.com/ru/docs/common/playsound
Bu konu için kritik bir konudur. Dosya Dosyalar klasöründen çalınmıyorsa, PlaySound prensipte kaybolur. O zaman sunucudan hiçbir şey döndürmeniz gerekmez. Ne için? PlaySound, birdenbire danışmanın dahili kaynağıyla çalışmazsa, ki bundan son derece şüpheliyim...
Bu, belgelere her zaman %100 güvenmeniz gerekmediği anlamına gelir)))
Şimdi, araç sunucudan geçerli ses dosyaları alacaksa, bir yere yeniden kayıt yapacak ve hareket halindeyken çalacaksa, metin mesajlarının kullanıcıya seslendirilmesi için evrensel bir çözüm görevi çözülecektir.
not. PlaySound ve EA tarafından oluşturulan dahili kaynaklar ses çalabilir mi? Ardından, dosyayı Dosyalar'a yazmanız gerekmez. Hemen kaynağa kaydedin ve oynayın.
Реter Konow : Bu, belgelere her zaman %100 güvenmeniz gerekmediği anlamına gelir)))
Şimdi, araç sunucudan geçerli ses dosyaları alacaksa, bir yere yeniden kayıt yapacak ve hareket halindeyken çalacaksa, metin mesajlarının kullanıcıya seslendirilmesi için evrensel bir çözüm görevi çözülecektir.
not. PlaySound ve EA tarafından oluşturulan dahili kaynaklar ses çalabilir mi?
Danışmanımda bilmiyorum - herhangi bir işlem nerede yapılır, kaybeder
onun yardımıyla TEST kelimesiyle bir wav dosyası indiriyorum
seçenekleri kaldır
//+------------------------------------------------------------------+//| 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 |//+------------------------------------------------------------------+voidOnStart ()
{
string cookie= NULL ,headers;
char post[],result[];
char cost_char_data[];
string result_headers;
headers = "-u apikey:GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB --output hello_world.wav" ;
string url= "https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST" ;
ResetLastError ();
int res = WebRequest ( "GET" ,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);
}
elsePrint ( "Ошибка в FileOpen. Код ошибки =" , GetLastError ());
}
elsePrintFormat ( "Ошибка загрузки '%s', код %d" ,url,res);
}
}
//+------------------------------------------------------------------+
üstbilgide şimdi, sunucunun arkasında apikey beklediği -u yetkilendirme seçeneği. Her şey mantıklı görünüyor, ancak sözdiziminde hala bir şeyler yanlış
kod yürütme sonucu - " Webrequest4Voice (EURCHF,D1)'https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST' yüklenirken hata oluştu, kod 401 "
peki bir ikili dosya çıktısı olan bir örneği nereden alabilirim!? ))
anlamaya çalışırken, url komutunun sözdizimini en aza indirdim
onun yardımıyla TEST kelimesiyle bir wav dosyası indiriyorum
seçenekleri kaldır
üstbilgide şimdi, sunucunun arkasında apikey beklediği -u yetkilendirme seçeneği. Her şey mantıklı görünüyor, ancak sözdiziminde bir şeyler hala yanlış
kod yürütme sonucu - " Webrequest4Voice (EURCHF,D1)'https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST' yüklenirken hata oluştu, kod 401 "
Expert Advisor'ın daha önce kaydettiği Files klasöründen ses dosyası çalınabiliyorsa, alınan ses dosyası eksiksiz ise sorunun çözümü gerçek olacaktır.
Birisi lütfen .wav dosyasını Dosyalar klasöründen çalıştırmayı deneyin. İlginç, aniden ortaya çıkacak.)))
evet çalışıyor, tüm klasörü kopyaladım
C:\Users\San\AppData\Roaming\MetaQuotes\Terminal\ 3 DE8A6E768D9369994F541727D733DE8\MQL5\Files\Sounds\evet çalışıyor, tüm klasörü kopyaladım
Ama bu zaten umut.)))
başlatılan şarkıyı bir kez daha kontrol etti
https://yadi.sk/d/EGsTJGYBmDFnGgbaşlatılan şarkıyı bir kez daha kontrol etti
https://yadi.sk/d/EGsTJGYBmDFnGgBu, belgelere her zaman %100 güvenmeniz gerekmediği anlamına gelir)))
Danışmanımda bilmiyorum - herhangi bir işlem nerede yapılır, kaybeder
doğal olarak kendi melodisi veya sesi
Bakabilirim ama yarın akşamdan önce değil. O zamana kadar çözemezsen.
ve çalışmayacak :-)
HTTP başlıklarında neden curl komut seçeneklerini geçiyorsunuz ???
kahretsin, en azından kitap oku, örneklere bak ... yoksa gerçekten tüm kagallarla senin için bir makale yazarız
peki bir ikili dosya çıktısı olan bir örneği nereden alabilirim!? ))
anlamaya çalışırken, url komutunun sözdizimini en aza indirdim
onun yardımıyla TEST kelimesiyle bir wav dosyası indiriyorum
seçenekleri kaldır
üstbilgide şimdi, sunucunun arkasında apikey beklediği -u yetkilendirme seçeneği. Her şey mantıklı görünüyor, ancak sözdiziminde hala bir şeyler yanlış
kod yürütme sonucu - " Webrequest4Voice (EURCHF,D1) 'https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST' yüklenirken hata oluştu, kod 401 "
Bana söyler misin? ))
peki bir ikili dosya çıktısı olan bir örneği nereden alabilirim!? ))
anlamaya çalışırken, url komutunun sözdizimini en aza indirdim
onun yardımıyla TEST kelimesiyle bir wav dosyası indiriyorum
seçenekleri kaldır
üstbilgide şimdi, sunucunun arkasında apikey beklediği -u yetkilendirme seçeneği. Her şey mantıklı görünüyor, ancak sözdiziminde bir şeyler hala yanlış
kod yürütme sonucu - " Webrequest4Voice (EURCHF,D1) 'https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST' yüklenirken hata oluştu, kod 401 "
Bana söyler misin? ))
Bir HTTP isteğini kıvrılma seçeneklerinden WebRequest seçeneklerine çevirmek için:
1. genel anlamda, Wikipedia'da HTTP'nin nasıl çalıştığını görün
2. Curl belgelerine bakın hangi seçenek, ne anlama geliyor ve neden hizmet ediyor
3. WebRequest'teki yardımı okuyun ve bu başlıkta bile birçok örnek bulunan örnekleri görün
4. Ne yaptığınızın farkına vararak kod yazın :-) ne, neden, neden değiştirilir.
4 puanın da işinize yarayacağını açıkça umuyorsunuz. Hafta sonu, az zaman, çok fikir olduğunu anlıyorum. hızlı bir şekilde gerekiyor
Ama yine de kendin yapmalısın.