| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Проиграть видео (mp4, divx, xvid) ?????? |
| Автор: Nicholas 26.10.2004, 10:30 |
| Делаю так: Кидаю на форму MediaPlayer1 и Panel1, в свойствах MediaPlayer1 Display ставлю Panel1, запускаю видео - видно, но некоторые файлы почему-то только звук слышен, хотя Windows Media Player установленный в Windows запускаю все работает???????? Но главное объясните как сделать так, что бы видео при максимизации формы тоже увеличивалось (вместе с фомой)?? У меня форму с панелью можно во весь экран развернуть, но видео остается маленьким если например у него размер 420х240 то так и отображается! |
| Автор: deMike 26.10.2004, 13:35 |
| Во 1, у меня тоже проблемы с этим, что нету звука, во 2, Поставить Align на Client и она будет во всё форму всегда! |
| Автор: Snowy 27.10.2004, 16:09 |
| 1. Воспроизводить через DirectX 2. Воткнуть на форму OLE контейнер в который запихнуть MediaPlayer |
| Автор: Nicholas 28.10.2004, 03:23 | ||
Со звуком у меня порядок, у меня изображения не идет. Яж не совсем тупой я ставил свойства и Panel действитель но во всесь экран, но видео свой размер не меняет!!! |
| Автор: Nicholas 28.10.2004, 03:33 | ||
Можно про DirectX пример кода увидеть? Кстати насчет контейнера: MediaPlayer запихнуть ты имеешь ввиду, ток точ в системе т.е. стандартный с Win идеи, я так пробывал он запускается как обычно, а можно сделать чтобы он в окне моей проги запускался, если да то как ???????? |
| Автор: Jey_k 28.10.2004, 18:32 |
| Вот который раз вижу подобные темы... То мп3 как проиграть то MPEG4, да пофигу этому компоненту что играть, он это все воспроизводит по умолчанию, лишь бы кодеки стояли. По крайней мере у меня проигрывал все. |
| Автор: Nicholas 30.10.2004, 07:40 | ||
Ок. Все проигрывается, а каже видео растянуть во весь экран? |
| Автор: p0s0l 30.10.2004, 15:25 |
| Сделай при старте программы и при OnResize у Panel1 такой код: MediaPlayer1.DisplayRect := Panel1.ClientRect; |
| Автор: Nicholas 1.11.2004, 06:50 | ||
Сделал, но у меня теперь появляется новое окно, а в нем уже видео, но кнопка Maximize блокирована. |
| Автор: Nicholas 1.11.2004, 07:09 |
| Извеняюсь поторопился!!! Все работает. Но теперь видео обрезается справа и слева, если не соответствует размерам экрана, как это исправить?? |
| Автор: p0s0l 1.11.2004, 11:08 |
| Хм... А как ты хочешь ? Чтобы было растянуто ? Тут же пропорции сохраняются... Как ты видео будешь глядеть, если оно будет сплющенным ? Или тебе такое и надо ? |
| Автор: Nicholas 1.11.2004, 11:47 | ||
Такого не надо. Здесь пропорции-то сохраняются, но видео как бы приблежается и фокусируется на центре картинки. К примеру у меня разрешение экрана 800*600, а видео 800*240 - обычно в проигрывателях мы видем черные полосы сверху и снизу - изображение пропорционально. Я это ввиду имею, а в данном случае видео как бы приближено до верхней и нижней грани картинки. |
| Автор: p0s0l 1.11.2004, 23:09 |
| Nicholas, хм... Я у себя посмотрел - дык вообще фильм расстягивается во всю панель. Т.е. никаких чёрных полос, пропорции не сохраняются... Тут значит надо DisplayRect указывать правильно, сохраняя пропорции. (т.е. в твоём случае указать такой Rect: (0, 180, 800, 420) ) Для этого нужно знать ширину/высоту фильма... А как это сделать - надо смотреть... Возможно, можно как-то через MCI сделать... |
| Автор: Nicholas 3.11.2004, 08:25 | ||
Ширина/ высота известны, знать бы где и как их задать? |
| Автор: p0s0l 3.11.2004, 10:38 | ||||
В DisplayRect MediaPlayer1.DisplayRect := Rect(х, y, w, h) где x, y - координаты левого верхнего угла прямоугольника, в который будет выводиться фильм w, h - ширина и высота прямоугольника Если высота и ширина фильма тебе известны (ты так сказал), то делай так:
|
| Автор: Nicholas 4.11.2004, 07:42 | ||||
Да, я вообще первый раз об этой штуке от тебя услышал!
Все так - бесконечно признателен за информацию! |