Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошло уже несколько лет. Интересно кому-либо удалось решить эту проблему? Мне аналогично необходимо проиграть несколько файлов последовательно, пока не могу решить эту проблему проигрывается через PlaySound только последний файл.
Если я правильно понимаю, Вы в реальном времени из нескольких файлов формируете один, а потом проигрываете? Можно рассказать подробности, как реализовать эту технологию на MQL5 и MQL4.
Если я правильно понимаю, Вы в реальном времени из нескольких файлов формируете один, а потом проигрываете? Можно рассказать подробности, как реализовать эту технологию на MQL5 и MQL4.
Формирование в реальном времени отнимет много времени. Файлы формирую заранее с помощью аудио-редактора. В советнике по условию проигрывается требуемый композиционный файл, что на слух эквивалентно проигрыванию требуемой группы файлов
Прошло уже несколько лет. Интересно кому-либо удалось решить эту проблему? Мне аналогично необходимо проиграть несколько файлов последовательно, пока не могу решить эту проблему проигрывается через PlaySound только последний файл.
Попробуйте через Sleep()
Попробуйте через Sleep()
Да, но Sleep остановит полностью всю программу, а это не совсем хорошо в большинстве случаев.
Да, но Sleep остановит полностью всю программу, а это не совсем хорошо в большинстве случаев.
Это да, больше чем помочь, не знаю.
Sleep в индикаторах не работает, в этом вся проблема. А так можно было использовать на худой конец.
Вот пример советника, воспроизводящего последовательность звуков. Индикатор чуть проще прикреплен. Звуки в архиве
Если быстро понажимать на кнопки - будет последовательно воспроизведены соответствующие звукиКороче так: объявление массива и счетчика звуков
string snd[30];
int n=0;
В функции OnInit() нужно запустить таймер
EventSetTimer(1); // Длина самого длинного звука, сек
При необходимости воспроизвести звук помещаем его имя в буфер, например
snd[n]="1.wav"; n++;
Звуки воспроизводит функция:
void OnTimer()
{
if(n) // Проверка очереди звуков
{
n--;
PlaySound(snd[0]); // FIFO - первый пришел - первый ушел
ArrayCopy(snd,snd,0,1,n); // Удаление воспроизведенного звука из массива-очереди
}
}