Форум: "Media";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизСвой видеоплеер Найти похожие ветки
← →
Игорь (2004-01-20 09:12) [0]Ребята, посоветуйте как попроще можно было бы воспроизводить mpg"ки с возможностью полноэкранного режима а так же вывода своего текста на канве видео? Может у кого есть кусок кода? Или ссылки. Буду очень благодарен за любой ответ.
← →
Игорь (2004-01-20 09:52) [1]P.S.
Если даже сделать используя mediapleer, как тогда выводить в углу дисплея, поверх видео, текущее время?
← →
Intell © (2004-01-20 10:40) [2]Я подобной вещью маюсь. Если хочешь присоединиться, то сообши на мыло:
intell_com@mail.ru
Я могу выслать небольшой исходник по некоторым возможностям TMediaPlayer.
← →
NailMan © (2004-01-20 14:07) [3]Делай на DirectShow и не парься всякими левыми оболочками. Гораздо эффективней и гибче можно сделать.
В DX SDK полно примеров по созданию таких приложений.
Могу даже выслать исходничек(*.PAS) как сделать простейший плеер используя DShow(заголовки придется скачать с www.delphi-jedi.org или с моего сайта).
← →
Avenger[NhT] © (2004-01-21 14:51) [4]NailMan, а как получить список кодеков которые юзаются для воспроизведения текущего фильма и как вызвать диалог настроек для этого кодека?
← →
TankMan © (2004-01-21 16:54) [5]>>NailMan
ОО и мне можно тоже исходничек? на Tankist@softhome.net...
← →
TankMan © (2004-01-21 17:42) [6]Я вот тут пример нашел... никто не мог бы мне помочь разобраться в том, как тут файл перематывать, да и вообще получить сведения о длительности файла и т.д... а то он только проигрывает.. :(
MyGraphBuilder : IGraphBuilder;
MyMediaControl : IMediaControl;
VideoWindow : IVideoWindow;
pWidth: Longint;
pHeight: Longint;
procedure TForm1.Button1Click(Sender: TObject);
begin
//CoInitialize(nil);
{получаем интерфейс IGraphBuilder}
CoCreateInstance(CLSID_FilterGraph,nil,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,MyGraphBuilder);
{вызываем RenderFile - граф фильтров строится автоматически}
MyGraphBuilder.RenderFile("D:\фильмы\форсаж.avi",nil);
{получаем интерфейс IMediaControl}
MyGraphBuilder.QueryInterface(IID_IMediaControl,MyMediaControl);
//MyGraphBuilder.QueryInterface(IID_IVPNotify,pColorControl);
{получаем интерфейс IVideoWindow}
MyGraphBuilder.QueryInterface(IID_IVideoWindow,VideoWindow);
{Примечание - VideoWindow - переменная типа IVideoWindow}
{располагаем окошко с видео на панель}
VideoWindow.Put_Owner(Self.Panel1.Handle);
VideoWindow.Put_WindowStyle(WS_CHILD OR WS_CLIPSIBLINGS);
VideoWindow.SetWindowPosition(0,0,Panel1.Width,Panel1.Height);
{Примечание - MyMediaControl - переменная типа IMediaControl}
{проигрываем видео}
MyMediaControl.Run;
end;
← →
demon_ © (2004-01-22 13:39) [7]unit VUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus;
type
Tvideoform = class(TForm)
PopupMenu1: TPopupMenu;
N1001: TMenuItem;
N2001: TMenuItem;
N1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure N1001Click(Sender: TObject);
procedure N2001Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
videoform: Tvideoform;
h,w:integer;
implementation
uses SUnit1;
{$R *.dfm}
procedure Tvideoform.FormCreate(Sender: TObject);
begin
//videoform.Top:=0;
//videoform.Left:=0;
//videoform.Width:=screen.Width;
//videoform.Height:=screen.Height;
end;
procedure Tvideoform.FormDblClick(Sender: TObject);
begin
videoform.Width:=w;
videoform.Height:=h;
mainform.mv.DisplayRect:=videoform.ClientRect;
videoform.Width:=mainform.mv.DisplayRect.Right-mainform.mv.DisplayRect.Left;
videoform.Height:=mainform.mv.DisplayRect.Bottom-mainform.mv.DisplayRect.Top;
videoform.Top:=((mainform.pvideo.Height-videoform.Height) div 2);
videoform.Left:=((mainform.pvideo.Width-videoform.Width) div 2)+mainform.pvideo.Left;
end;
procedure Tvideoform.N1001Click(Sender: TObject);
begin
videoform.Width:=w;
videoform.Height:=h;
mainform.mv.DisplayRect:=videoform.ClientRect;
videoform.Width:=mainform.mv.DisplayRect.Right-mainform.mv.DisplayRect.Left;
videoform.Height:=mainform.mv.DisplayRect.Bottom-mainform.mv.DisplayRect.Top;
videoform.Top:=((mainform.pvideo.Height-videoform.Height) div 2);
videoform.Left:=((mainform.pvideo.Width-videoform.Width) div 2)+mainform.pvideo.Left;
end;
procedure Tvideoform.N2001Click(Sender: TObject);
begin
videoform.Width:=w*2;
videoform.Height:=h*2;
mainform.mv.DisplayRect:=videoform.ClientRect;
videoform.Width:=mainform.mv.DisplayRect.Right-mainform.mv.DisplayRect.Left;
videoform.Height:=mainform.mv.DisplayRect.Bottom-mainform.mv.DisplayRect.Top;
videoform.Top:=((mainform.pvideo.Height-videoform.Height) div 2);
videoform.Left:=((mainform.pvideo.Width-videoform.Width) div 2)+mainform.pvideo.Left;
end;
procedure Tvideoform.N1Click(Sender: TObject);
begin
videoform.Width:=screen.Width;
videoform.Height:=screen.Height;
mainform.mv.DisplayRect:=videoform.ClientRect;
videoform.Width:=mainform.mv.DisplayRect.Right-mainform.mv.DisplayRect.Left;
videoform.Height:=mainform.mv.DisplayRect.Bottom-mainform.mv.DisplayRect.Top;
videoform.Top:=0;
videoform.Left:=0;
end;
procedure Tvideoform.FormClick(Sender: TObject);
begin
mainform.pausev;
end;
end.
← →
demon_ © (2004-01-22 13:42) [8]gde mv ento TMediaPlayer
← →
TrollXP © (2004-01-22 15:29) [9]2 NailMan
Полностью с тобой согласен. Но я уже месяца 3 ищу этот самый DX SDK и никак не найду. Мож скинешь на мыло исходничек. Заранее премного благодарен.
← →
TankMan © (2004-01-22 18:19) [10]Да нафиг этот TMediaPlayer... - лажа глючная...
← →
Avenger[NhT] © (2004-01-24 00:32) [11]>TankMan © (22.01.04 18:19) [10]
>Да нафиг этот TMediaPlayer... - лажа глючная...
Точно! DirectShow рурулит!
Архив можно взять на http://delphigfx.mastak.ru/ качайте DelphiX или отдельно DirectX
← →
TankMan © (2004-01-28 02:19) [12]Так кто-нибудь скажет, как сделать в том примере, что я выложил - перемотку файла? и определение длинны (хотя если уж можно перематать, то уж точно можно определить длинну...) и всеже... или может кто другой способ открытия видео файла предложит?... ну весит же вопрос не решенный?
← →
bytebutcher (2004-01-31 11:10) [13]Да ужжжжжж. Это выглядит как копошение малышей в песочнице.
Ребята зайдите на сайт www.progdigy.com
библиотека DSPack 2.31
и куча примеров
← →
TankMan © (2004-01-31 19:33) [14]Это все кончено хорошо... но всеже я не пойму почему уже второй раз удаляют мою тему?! даже не говорят почему? Я конечно догадываюсь (что данный вопрос уже рассматривался(ется) в этом топике) но всеже, как найти эту тему с таким "отличным" поиском?!? Может кто-нибудь посоветует где взять комопнент для использования его в качестве "перемотки" при проигрывании видео файлов... а то меня неустраивает TrackBar - нужно что-то... может быть по красивее...
← →
TrollXP © (2004-02-02 17:14) [15]2 TankMan
Посмотри на www.delphim.amilo.net. Если я не ошибаюсь, то там есть. Удачи.
← →
TankMan © (2004-02-04 00:45) [16]А она у меня почему-то не работает :(
← →
TrollXP © (2004-02-04 17:20) [17]У меня тоже :((( Мож дней так через пару...
← →
TankMan © (2004-02-04 17:50) [18]А ктонибудь знает, как сделать так, чтобы при переходе в на полный экран мышь исчезала, но потом при движении появлялась... просто я как ни пытался так и не понял, почему, при переходе в полноэкранный режим, мышь исчезает на всегда... т.е. пока не закроешь его :(
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.034 c