void PlaySound( string filename)

 
Возможно ли заставить играть мелодию в индикаторе столько сколько нужно пользователю(не количество проигрываний, а продолжительность мелодии)?
 
Чего спрашивать, проще попробовать. На моей памяти припев Верки Сердючки прокатывался полностью.
 
granit77:
Чего спрашивать, проще попробовать. На моей памяти припев Верки Сердючки прокатывался полностью.
я знаю что мелодия проигрывается полностью, мне интересно возможно ли заставить мелодию играть только определенное время(не полностью), у самого идей нет по этому поводу, решил прибегнуть к помощи форума(коллективный разум так сказать).
 
Можно прервать звук. Проиграть короткий файл без звука.
 

из давних экспериментов следует, что из последовательно установленных на проигрывание файлов (без задержек), проигрывается последний. значит, "последующий" файл прерывает работу "предыдущего".т.о. можно по условию запускать файл "тишины". это и будет окончанием проигрывания. что-то где-то так...

 
Integer:
Можно прервать звук. Проиграть короткий файл без звука.

да такая идея приходила, но прервать нужно будет через определенное время, а это Sleep(), а в индикаторах она вроде не работает.
 

Как бы не соврать... В PlaySound() (в ту которая в winmm.dll) можно передавать не только имя файла, но и файл считаный в строку. Считать wav в строку, подкрамсать как надо и отправить на воспроизведение. Но стоит ли так мучаться...

 
причуды заказчика ))
 
sanyooooook:

причуды заказчика ))

Заказчику надо объсняться, где адекватные задачи, а где - нет. А то может денег не хватить оплачивать неадекватные задачи.
 

Ещё вариант: если время проигрывания изменяется дискретно и количество вариантов в разумных пределах, то есть смысл заготовить несколько звуковых файлов с разным временем проигрывания и выбирать нужный.

 

пришла идея все таки, при выполнении условия на проигрывание мелодии запоминаем время с помощью GetTickCount()или TimeCurrent(), если времени прошло больше чем задано пользователем проигрываем пустой звук

что-то типа этого

Всем спасибо.

Причина обращения: