Народ, как правильно сделать чтоб работало? - страница 3

 
Alexey Volchanskiy:

Выбор имен можно сделать только из жестко заданного набора, извратившись через enum. Для новичков, если в задании перечисления поставить что-то после комментариев, в настройках советника в разворачивающемся списке WavName будет показываться то, что в комментах.

EWav0, //sound0.wav - будет показываться  sound0.wav, если коммента нет - показывается EWav0

enum EWavName
{
  EWav0, //sound0.wav
  EWav1, //sound1.wav
  EWav2  //sound2.wav
};
string ASWavNames[] = {"sound0.wav", "sound1.wav", "sound2.wav"};


extern EWavName WavName = EWav1;

string SWavName;

void OnInit()
{
  SWavName = ASWavNames[(int)WavName];
}

 ***

А как в extern это засунуть?, ага туплю, Буду проверять, спасибо.
 
trader781:
А что если ко всему этому сам звуковой файл засунуть в эксперта?
Как это можно сделать?
 
trader781:
А что если ко всему этому сам звуковой файл засунуть в эксперта?

Легко. Кстати, при этом wav как-то сжимается.

#resource "\\Files\\Demo.wav";          // имя ресурса - Files\Demo.wav"
#resource "\\Sounds\\thrill.wav";       // имя ресурса - Sounds\thrill.wav"
...                                  
  
...
PlaySound("::Files\\Demo.wav");
...
PlaySound("::Sounds\\thrill.wav");


 ***

 
Alexey Volchanskiy:

Легко. Кстати, при этом wav как-то сжимается.

#resource "\\Files\\Demo.wav";          // имя ресурса - Files\Demo.wav"
#resource "\\Sounds\\thrill.wav";       // имя ресурса - Sounds\thrill.wav"
...                                  
  
...
PlaySound("::Files\\Demo.wav");
...
PlaySound("::Sounds\\thrill.wav");


 ***

И вот тут обнаружен косяк

при засовывании к примеру песни на полчаса в качестве алерта все работает, но сама работа проигрывателя не отображается ни в каком сканнере. Убивается перезагрузкой терминала. надо найти плеер и поменять его на тот который все время использую. 

 
trader781:

И вот тут обнаружен косяк

при засовывании к примеру песни на полчаса в качестве алерта все работает, но сама работа проигрывателя не отображается ни в каком сканнере. Убивается перезагрузкой терминала. надо найти плеер и поменять его на тот который все время использую. 

Прекратить проигрывание звука можно повторно вызвав пустой PlaySound()
 
Artyom Trishkin:
Прекратить проигрывание звука можно повторно вызвав пустой PlaySound()
а кто звук - то проигрывает? где этот плеер?
 
trader781:
а кто звук - то проигрывает? где этот плеер?
Зачем вам плейер? Терминал по-моему посредством DirextX проигрывает звук. Врать не буду - очень давно на форуме четвёрки вскользь видел мимоходом. PlaySound() предназначена для проигрывания звука из терминала, а не Winamp'ом каким-нибудь... Дискотека что-ли?
 
Alexey Volchanskiy:

Легко. Кстати, при этом wav как-то сжимается.

#resource "\\Files\\Demo.wav";          // имя ресурса - Files\Demo.wav"
#resource "\\Sounds\\thrill.wav";       // имя ресурса - Sounds\thrill.wav"
...                                  
  
...
PlaySound("::Files\\Demo.wav");
...
PlaySound("::Sounds\\thrill.wav");


 ***

wav в тело ex4 при этом прописывается?
 
trader781:
а кто звук - то проигрывает? где этот плеер?
В процессах Windows не видно? Я просто не пытался мелодию на полчаса ставить ;-)
 
A1exPit:
wav в тело ex4 при этом прописывается?
Да. Всё, что включено как ресурс, будет при компиляции встроено в тело ех4 (или ех5).
Причина обращения: