![]() |
|
|
|
|
#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 тоже неплохой и простой вариант. Однако, не зная точной постановки задачи, сложно сказать, что лучше… |