![]() |
|
|
#1
|
|||
|
|||
|
Всем привет! Хотела узнать мне нужно подключить видео большего объема, можно в прогу подключить кодеки для воспроизведения. Или подключить какой нибуть готовый проигрыватель.
Посоветуйте пожалуйста, а то мне диплом надо написать. |
|
#2
|
||||
|
||||
|
MediaPlayer с вкладки System не подойдет?
|
|
#3
|
||||
|
||||
|
Можно попробовать используя 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; |
|
#4
|
|||
|
|||
|
Выкладывайте все что у кого есть, а я уже разберусь что подойдет, а что нет.
Всем большое спасибо, что помогаете мне ![]() |
|
#5
|
||||
|
||||
|
Вот небольшой пример (для начала) - Player.zip
|
|
#6
|
||||
|
||||
|
Цитата:
Я, обычно в таких случаях, использую 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
|
||||
|
||||
|
to Karsh
ты прав - Windows Media Player тоже неплохой и простой вариант. Однако, не зная точной постановки задачи, сложно сказать, что лучше… |
|
#8
|
|||
|
|||
|
Karsh расскажи поподробней про Windows Media Player в Delphi.
Или кто нибудь расскажите пожалуйста!! |
|
#9
|
|||
|
|||
|
Цитата:
![]() |
|
#10
|
|||
|
|||
|
Все гораздо проще.
Пишешь плеер через DirectX (в инете полно примеров этого дела). Соответсвенно, получаешь голый проигрыватель, к которому рисуешь тот интерфейс, который хочешь. Кстати, WMP проигрывает файлы именно так. |
|
#11
|
|||
|
|||
|
Цитата:
У меня следующая проблема: TMediaPlayer воспроизводит по умолчанию файлы avi, а задача поставлена - работать с файлами mp4. Настроил фильтр OpenDialog на mp4, но , как правило вместо воспроизведения файла, получаю сообщение "Не удается определить тип устройства по указанному расширению файла" или черный прямоугольник на панели. Что нужно предпринять в этой ситуации, чтобы воспроизводить mp4. Не обижайтесь - я этот вопрос продублирую отдельной темой. Дико поджимают сроки! Буду искреенне благодарен за конкретные советы. |
|
#12
|
|||
|
|||
|
Подскажите, пожалуйста, есть ли возможность проиграть в программе wmv файлы, и как их связать с программой (может в res файл закинуть?)?
Особенно буду благодарен, если подскажите КАК это сделать. |
|
#13
|
|||
|
|||
|
Используй ТMediaPlayer с закладки System, а как его юзать почитай в похожих темах
|