Форум по Delphi программированию



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.10.2007, 11:12
Melissetaure Melissetaure вне форума
Прохожий
 
Регистрация: 06.10.2007
Адрес: Россия
Сообщения: 7
Репутация: 10
Вопрос Кодеки..

Всем привет! Хотела узнать мне нужно подключить видео большего объема, можно в прогу подключить кодеки для воспроизведения. Или подключить какой нибуть готовый проигрыватель.
Посоветуйте пожалуйста, а то мне диплом надо написать.
Ответить с цитированием
  #2  
Старый 06.10.2007, 12:14
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

MediaPlayer с вкладки System не подойдет?
Ответить с цитированием
  #3  
Старый 06.10.2007, 12:19
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
Счастье DirectShow

Можно попробовать используя MPlayer или напрямую через DirectShow.
Код:
uses 
 ...DShow, ActiveX, ComObj; 
 
 procedure TForm1.Button1Click(Sender: TObject); 
 
 var 
 MyGraphBuilder: IGraphBuilder; 
 MyMediaControl: IMediaControl; 
 VideoWindow: IVideoWindow; 
 
 begin 
 
 CoInitialize(nil); 
 {получаем интерфейс IGraphBuilder} 
 CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER, 
  IID_IGraphBuilder, MyGraphBuilder); 
 
 {вызываем RenderFile - граф фильтров строится автоматически} 
 MyGraphBuilder.RenderFile('C:\Program Files\Borland\Delphi5\Demos\Coolstuf\cool.avi', nil); 
 
 {получаем интерфейс ImediaControl} 
 MyGraphBuilder.QueryInterface(IID_IMediaControl, MyMediaControl); 
 {Примечание - MyMediaControl - переменная типа IMediaControl} 
 
 {получаем интерфейс IVideoWindow} 
 MyGraphBuilder.QueryInterface(IID_IVideoWindow, VideoWindow); 
 {Примечание - VideoWindow - переменная типа IVideoWindow} 
 
 {располагаем окошко с видео на панель} 
 VideoWindow.Set_Owner(Self.Panel1.Handle); 
 VideoWindow.Set_WindowStyle(WS_CHILD or WS_CLIPSIBLINGS); 
 VideoWindow.SetWindowPosition(0, 0, Panel1.ClientRect.Right, 
  Panel1.ClientRect.Bottom); 
 
 {проигрываем видео} 
 MyMediaControl.Run; 
 
 ShowMessage('Нажмите OК'); 
 
 CoUninitialize; 
 end; 
Заголовочные файлы DirectX можно взять с http://www.delphi-jedi.org
__________________
Программирование - это искусство и наш смысл жизни.
Ответить с цитированием
  #4  
Старый 07.10.2007, 10:55
Melissetaure Melissetaure вне форума
Прохожий
 
Регистрация: 06.10.2007
Адрес: Россия
Сообщения: 7
Репутация: 10
По умолчанию

Выкладывайте все что у кого есть, а я уже разберусь что подойдет, а что нет.

Всем большое спасибо, что помогаете мне
Ответить с цитированием
  #5  
Старый 07.10.2007, 12:56
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Вот небольшой пример (для начала) - Player.zip
Ответить с цитированием
  #6  
Старый 08.10.2007, 02:46
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Цитата:
Сообщение от Decoding
MediaPlayer с вкладки System не подойдет?
У ТMediaPlayer есть несколько минусов, и один из них - "кривая" работа с видео кодеками. У меня, к примеру, AVI видео либо не воспроизводится, либо воспроизводится без звука.
Я, обычно в таких случаях, использую Windows Media Player.

Подключить его пожно по средствам импорта ActivеX (но тут тоже есть один недостаток - программа не будет загружаться на компе без установленного WMP версии 7(или 9... не помню уже) и выше)).
Далее настраиваешь его по своему усмотрению (можно вкл/выкл автостарт, изменить громкость, показать/скрыть панель управления и т.п.).
Потом просто открываешь видео файл (WMP1.URL:= OpenDialog1.FileName;) и управляешь воспроизведением видео командами:
wmp1.controls.play;
wmp1.controls.pause;
wmp1.controls.stop;
Для определения длительности фильма:
wmp1.currentMedia.duration; //Double
wmp1.currentMedia.durationString; //WideString
Для определения позиции:
wmp1.controls.currentPosition; //Double
wmp1.controls.currentPositionString; //WideString

Для установки WMP:
В меню Delphi выбираешь Component->Import ActivX Control
Далее вибарешь Windows Media Player (файл C:\WINDOWS\System32\wmp.dll)
и устанавливаешь полученный компонент (по умолчанию он будет храниться в папке Delphi\Imports в виде PAS файла)
Ответить с цитированием
  #7  
Старый 08.10.2007, 09:33
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

to Karsh
ты прав - Windows Media Player тоже неплохой и простой вариант. Однако, не зная точной постановки задачи, сложно сказать, что лучше…
Ответить с цитированием
  #8  
Старый 14.05.2008, 14:58
Melissetaure Melissetaure вне форума
Прохожий
 
Регистрация: 06.10.2007
Адрес: Россия
Сообщения: 7
Репутация: 10
По умолчанию

Karsh расскажи поподробней про Windows Media Player в Delphi.
Или кто нибудь расскажите пожалуйста!!
Ответить с цитированием
  #9  
Старый 13.08.2008, 22:52
Anti_L@+meR Anti_L@+meR вне форума
Прохожий
 
Регистрация: 19.05.2008
Сообщения: 39
Репутация: 10
По умолчанию

Цитата:
Сообщение от Melissetaure
Karsh расскажи поподробней про Windows Media Player в Delphi.
Или кто нибудь расскажите пожалуйста!!
это ActiveX компонент довольно полезная весч
Ответить с цитированием
  #10  
Старый 14.08.2008, 01:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,785
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Все гораздо проще.
Пишешь плеер через DirectX (в инете полно примеров этого дела). Соответсвенно, получаешь голый проигрыватель, к которому рисуешь тот интерфейс, который хочешь.

Кстати, WMP проигрывает файлы именно так.
Ответить с цитированием
  #11  
Старый 03.09.2008, 11:14
cadil cadil вне форума
Начинающий
 
Регистрация: 24.10.2007
Сообщения: 169
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Все гораздо проще.
Пишешь плеер через DirectX (в инете полно примеров этого дела). Соответсвенно, получаешь голый проигрыватель, к которому рисуешь тот интерфейс, который хочешь.

Кстати, WMP проигрывает файлы именно так.

У меня следующая проблема:
TMediaPlayer воспроизводит по умолчанию файлы avi, а задача поставлена - работать с файлами mp4. Настроил фильтр OpenDialog на mp4, но , как правило вместо воспроизведения файла, получаю сообщение "Не удается определить тип устройства по указанному расширению файла" или черный прямоугольник на панели. Что нужно предпринять в этой ситуации, чтобы воспроизводить mp4. Не обижайтесь - я этот вопрос продублирую отдельной темой. Дико поджимают сроки! Буду искреенне благодарен за конкретные советы.
Ответить с цитированием
  #12  
Старый 30.10.2008, 23:20
Flart Flart вне форума
Прохожий
 
Регистрация: 18.06.2007
Сообщения: 3
Репутация: 10
Вопрос Как проиграть WMV

Подскажите, пожалуйста, есть ли возможность проиграть в программе wmv файлы, и как их связать с программой (может в res файл закинуть?)?
Особенно буду благодарен, если подскажите КАК это сделать.
Ответить с цитированием
  #13  
Старый 30.10.2008, 23:26
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Используй ТMediaPlayer с закладки System, а как его юзать почитай в похожих темах
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter   Ссылка на Telegram