Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TMediaPlayer [D7, WinME, Win2k]


Fokin111 ©   (2005-04-11 10:45:00) 

Доброе утро

Пускай я выгляжу в глазах других идиотом.
Но не могу решить несколько вопросов (связанных с TMediaPlayer) поэтому прошу помощи.

1) Пытаясь определить значения времени в открываемом AVI файле (сколько времени уже проигрывается файл и сколько времени должен идти файл)
используя свойство .Lenght и вызовы ф-ций mci_HMS_***, mci_MSF_***, mci_TMSF_*** с форматами tfHMS, tfMSF и tfTMSF
получал возвращаемые значения приблизительно 100-200 часов и т.д.
Получил нормальное значение времени только когда стал использовать .TimeFormat := tfMilliseconds (а дальше перевод в минуты и часы)
В связи с этим вопрос: можно ли нормально получить информацию о времени фильма в формате AVI
используя вызовы ф-ций mci_HMS_***, mci_MSF_***, mci_TMSF_*** с форматами tfHMS, tfMSF и tfTMSF?
Или действительно для AVI файла можно использовать только формат tfMilliseconds?

2) Как корректно использовать метод .Close
(Потому-что как я не бьюсь над этим не выходит у меня каменный цветок)
Если я нахожусь в среде разработки Дельфи то при вызове метода .Close (когда открыт фильм) возникает exception
и как его победить не могу понять. пробовал использовать .Close в комбинациях с .Wait, .Pause все равно возникает exception.
Если просто из виндов запускать то все хорошо, никакого exception нет но ведь это неправильно. Может быть кто нибудь на эти грабли наступал уже?

3)Свойство Display своего MediaPlayer установил в Panel которую то-же положил на форму. В случае если Выбираю в своем приложениии метод .Pause или .PauseOnly
и переключаюсь на любое другое приложение которое полностью перекрывает мой "MediaPlayer" , а потом возвращаю фокус на мой "MediaPlayer",
то экран (в данном случае это Panel) полностью перерисовывается и остановленный кадр фильма естественно пропадает.
Как заставить MediaPlayer перерисовать кадр остановленного фильма?

С уважением Фокин
fokin@dcbars.ru


Думкин   (2005-04-11 11:11:00) [1]

> Fokin111   (11.04.05 10:45)

3) Сделать потомка от панели. При паузе снимать картинку с нее и потом рисовать ее самому до окончания паузы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо