Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Постоянное проигрывание в MediaPlayer


Автор: mr.Anderson 26.11.2006, 13:00
Подскажите, как сделать, чтобы MediaPlayer автоматом проигрывал муз.файл бесконечно, т.е. с автоперемоткой. Я заюзал событие OnNotify для этого. Вот что я в нем прописал:
Код

if( MP->FileName != "" )
 MP->Play();

Но проблема в том, что событие OnNotify возникает в любом случае, даже при ручном выключении плеера. Вот как мне сделать так, чтобы файл проигрывался бесконечно, если пользователь не выключает его, а вот если юзер тыкнул на объект, который должен плеер вырубать, то OnNotify бы НЕ СРАБОТАЛО. Как реализовать? Чувствую, что решение простое, но найти его не могу.

Добавлено @ 13:04 
Кстати, свойство AutoRewind установлено в TRUE. Но это не помогает.

Автор: Link90 26.11.2006, 14:45
Я бы сделал так: ставишь таймер, который будет отслеживать текущую позицию МедиаПлеера и как только песня заканчивается, перематывать его опять на эту же песню.

Автор: mr.Anderson 26.11.2006, 15:11
А зачем тут таймер? Как отследить текущую позицию? MP->Position, что ль? А в таймере делать 
MP->Position = 0;
MP->Play();
?

Автор: mr.Anderson 26.11.2006, 15:39
Спасибо! Получилось. Поставил время срабатывания таймера 0.5 секунды, в нем прописал:
Код

if( MP->Position == MP->Length )
 MP->Play();

А на кнопках отключения проигрывания просто убираю значок плеера и вырубаю таймер. Все работает! Спасибо еще раз. + в репутацию.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)