|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.04.2017, 10:46 | #1 |
Пользователь
Регистрация: 18.01.2010
Сообщений: 18
|
DirectShow - как узнать когда видео закончилось?!
DirectShow - как узнать когда видео закончилось?!
И запустить его заново? |
17.04.2017, 12:23 | #2 |
Форумчанин
Регистрация: 23.01.2016
Сообщений: 608
|
...вообще есть два варианта:
1- при создании интерфейсов и построении графа фильтров назначить окно для отправки ему событий воспроизведения через SetNotifyWindow(), т.е. окну своего приложения. Перехватывая сообщения окна отследить наступление EC_COMPLETE и через метод put_CurrentPosition интерфейса IMediaPosition, который вы подключили в графе задавать 0. Либо нужную позицию. 2- в потоке (того же таймера) через метод GetCurrentPosition() интерфейса IMediaSeeking, который опять же вы подключили в графе, выковыривать текущую позицию и сравнивать с полученной длиной медиа из GetDuration() того же интерфейса при построении графа. При достижении через метод SetPositions() интерфейса IMediaSeeking пулять на начало. Все просто ))) |
17.04.2017, 14:50 | #3 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Код:
Последний раз редактировалось BLACK_RAIN; 17.04.2017 в 14:55. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как узнать когда Edit прокручивается? | mak15 | Общие вопросы C/C++ | 5 | 16.12.2015 23:12 |
Как в TMemo узнать, когда курсор над выделением? | planetoxod | Компоненты Delphi | 0 | 29.10.2015 17:33 |
как узнать, когда остановится playsound | TUberwer | Мультимедиа в Delphi | 5 | 15.08.2013 22:36 |
Как рисовать поверх видео DirectShow ???? | FarStar | Visual C++ | 7 | 17.06.2011 12:57 |
Как узнать когда браузер скачивает, а когда нет? | iPod | Работа с сетью в Delphi | 1 | 07.05.2007 15:16 |