Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Интересная задача(MediaPlayer)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Интересная задача(MediaPlayer) (Прочитано 10578 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pilgrim
Гость
Интересная задача(MediaPlayer)
«
:
02-12-2007 18:19 »
Я работаю с кадрами в компоненте MediaPlayer , т.е я каждый кадр перегоняю в TBitmap (делаю скриншот). Скриншот он делает тогда когда в окне виден необходимый кадр. Мне нужно чтобы пользователь не видел предвижение в проигрователе по кадрам.
MediaPlayer1.Display:= ?; //Вместо ? я должен указать существующее окно
MediaPlayer1.Open;
MediaPlayer1.Position:= 25;
Вот как сделать так чтобы вместо существующего присвоить некий класс в который можно загнать изображение кадра и с него -> в TBitmap
Записан
zubr
Гость
Re: Интересная задача(MediaPlayer)
«
Ответ #1 :
02-12-2007 20:12 »
Интересно, как ты собираешься делать скриншот с медиаплеера? Для этого надо перехватывать видеопоток, используя мултимедиафункции capCreateCaptureWindow и т. п. или через DirectShow. Хорошие люди создали OpenSource компоненты DSPACK234 (может есть и более новая версия), основанные на DirectShow, там по моему, есть и пример граббера.
Записан
pilgrim
Гость
Re: Интересная задача(MediaPlayer)
«
Ответ #2 :
02-12-2007 20:28 »
Скриншот делается методом Canvas.CopyRect;
НА Builder C++
TRect SDRect;
SDRect = Rect(0, 0, Panel1->width, Panel1->height);
TControlCanvas *CCanvas = new TControlCamvas;
TBitmap *MyBitmap = new MyBitmap;
MyBitmap->height = Panel1->height;
MyBitmap->width = Panel1->width;
CCanvas->Control = Panel1;
MyBitmap->Canvas->CopyRect(SDRect, CCanvas, SDRect);
Если можешь объясни как через поток)))
Записан
zubr
Гость
Re: Интересная задача(MediaPlayer)
«
Ответ #3 :
02-12-2007 21:37 »
pilgrim
, ты не понял, речь идет не о графическом файле, а о видеопотоке. Судя по всему ты не пробовал делать скриншот с медиаплеера так как ты написал в своем ответе. Советую, попробуй и тогда поймешь.
Я тебе указал направления где искать и куда смотреть, а описывать интерфейс DirectShow и работу с ним, это извини, тема целой книги. Самый лучший вариант для тебя - это воспользоваться компонентами DSPACK234 (поищи в интернете), тем более они с исходниками + почитать MSDN на тему DirectShow.
Записан
pilgrim
Гость
Re: Интересная задача(MediaPlayer)
«
Ответ #4 :
02-12-2007 22:43 »
Нет я конечно с тобой согласен. Да . Работать конечно надо с потоком. Но то что я написал работает, только если изображение выводится в окно. А ты ссылки знаешь на эл. литературу по DirectShow
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: Интересная задача(MediaPlayer)
«
Ответ #5 :
03-12-2007 04:23 »
pilgrim
, таки сказано: MSDN.
Заходи на
их сайт
, а далее поиском.
Еще рекомендую скачать утилиту graphedit и поэкспериментировать с ней. В ней наглядно можно увидеть, как соединяются между собой DirectShow-компоненты.
Тут посмотри:
http://directshow.wonderu.com/first2
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zubr
Гость
Re: Интересная задача(MediaPlayer)
«
Ответ #6 :
03-12-2007 09:26 »
Есть еще вариант, как делать скриншоты с видеопотока. Установить минипортвидеодрайвер из примеров DDK. После установки драйвера в системе, можно спокойно делать скриншоты обычным BitBlt.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Интересная задача(MediaPlayer)
Загружается...