подскажите почему не воспроизводится видео... файл с библиотеками прилагается
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,libvlc,dialform,ExtCtrls, StdCtrls, ToolWin, ComCtrls, ImgList, Buttons;
type
TForm3 = class(TForm)
Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; Memo1: TMemo; ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ImageList1: TImageList;
BitBtn1: TBitBtn;
OpenDialog1: TOpenDialog;
BitBtn2: TBitBtn;
TrackBar1: TTrackBar;
Label1: TLabel;
CheckBox1: TCheckBox;
ProgressBar1: TProgressBar;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CheckBox1Click(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
vlc:integer;
libOK :boolean;
end;
var Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if VLC_IsPlaying(vlc) then VLC_Stop(vlc);
end;
procedure TForm3.FormCreate(Sender: TObject);
var
err :integer;
args:array[0..1000] of pchar;
val :TValue;
apath :string;
begin
Memo1.Clear;
err := VLD_LoadLibrary;
if err<>VLD_SUCCESS then
begin
case err of
VLD_NOLIB : ShowMessage('OOPS! libvlc.dll not found!');
VLD_NOTFOUND: ShowMessage('libvlc.dll invalide ?!');
end;
if err= VLD_NOLIB then
begin
if (MessageDlg('Find root directory for libvlc.dll and registry it?',
mtConfirmation, [mbOK, mbCancel],0)=mrOK) and
(OKHelpBottomDlg.ShowModal=mrOK) then
begin
apath := OKHelpBottomDlg.DirectoryListBox1.Directory;
VLD_Registry(apath);
err:=VLD_LastError;
if err<>VLD_SUCCESS then
BEGIN
Application.Terminate;
exit;
END;
end
else
begin
Application.Terminate;
exit;
end;
end
else
BEGIN
Application.Terminate;
exit;
END;
end;
vlc:= VLC_Create;
args[0]:=pchar(VLD_LibPath); // Lie or libvlc.dll wont work :(
args[1]:=nil;
VLC_Init(vlc,1,@args[0]);
Caption:=Caption+' [libvcl-'+VLC_Version+']';
val.AsInteger:=Panel1.Handle;
err := VLC_VariableSet(vlc,'drawable',val);
TrackBar1.Position := VLC_VolumeGet(vlc);
end;
procedure TForm3.BitBtn2Click(Sender: TObject);
var
s:string;
i, err :integer;
begin
if not OpenDialog1.Execute then exit;
if VLC_IsPlaying(vlc) then VLC_Stop(vlc);
VLC_PlaylistClear(vlc);
Memo1.Clear;
for i := 0 to OpenDialog1.Files.Count - 1 do
begin
s:=UTF8Encode(OpenDialog1.Files[i]);
VLC_AddTarget(vlc,PChar(s),nil,0,PLAYLIST_APPEND,PLAYLIST_END);
Memo1.Lines.Add(OpenDialog1.Files[i]);
end;
end;
procedure TForm3.CheckBox1Click(Sender: TObject);
begin
VLC_VolumeMute(vlc);
end;
procedure TForm3.ToolButton1Click(Sender: TObject);
begin
if vlc>0 then
VLC_Play(vlc);
end;
procedure TForm3.ToolButton2Click(Sender: TObject);
begin
if vlc<>0 then
VLC_Pause(vlc);
end;
procedure TForm3.ToolButton3Click(Sender: TObject);
begin
if vlc<>0 then
VLC_Stop(vlc);
end;
procedure TForm3.ToolButton5Click(Sender: TObject);
var
err :integer;
apath :string;
begin
if OKHelpBottomDlg.ShowModal= mrOK then
begin
apath := OKHelpBottomDlg.DirectoryListBox1.Directory;
VLD_Registry(apath);
err:=VLD_LastError;
if err<>VLD_SUCCESS then
BEGIN
Application.Terminate;
exit;
END;
ShowMessage('libvlc.dll is registred succecfuly.'#10#13'Restart yout application!');
Application.Terminate;
exit;
end;
end;
procedure TForm3.TrackBar1Change(Sender: TObject);
begin
VLC_VolumeSet(vlc, TrackBar1.Position);
end;
end.
vlc.part01.rar
vlc.part02.rar
vlc.part03.rar
vlc.rar - исх