// // 打开时,初始化路径... procedure TMainForm.FormCreate(Sender: TObject); begin libvlc_dynamic_dll_init_with_path(extractfiledir(application.ExeName)); if (libvlc_dynamic_dll_error <> '') then begin qbmisc.ShowError('初始化播放器出现错误:'+#13#10+libvlc_dynamic_dll_error, '错误信息'); Application.Terminate; exit; end; TrayIcon.Visible:=true; end;
// // 播放... procedure TMainForm.SpeedButton1Click(Sender: TObject); begin if trim(combobox1.Text)='' then exit; if Player.IsPlay then Player.Stop(); Player.Play(trim(combobox1.Text)); end;
// // 暂停... procedure TMainForm.SpeedButton2Click(Sender: TObject); begin if Player.IsPlay then Player.Pause; end;
// // 继续... procedure TMainForm.SpeedButton3Click(Sender: TObject); begin if Player.IsPause then Player.Resume; end;
// // 全屏... procedure TMainForm.SpeedButton4Click(Sender: TObject); var hWnd: integer; begin if Player.IsPlay then begin // // 保存窗口原位置... x:=self.Left; y:=self.Top; h:=self.Height; w:=self.Width; // // 隐藏资源栏、播放面板栏... Panel1.visible:=false; Panel2.visible:=false; // // 隐藏任务栏... IsAutoHide:=IsTaskbarAutoHideOn(); if not IsAutoHide then begin hWnd := FindWindow('Shell_TrayWnd',nil); ShowWindow(hWnd,SW_HIDE); application.ProcessMessages; end; // // 设置窗口最大化、置前... self.Top:=0; Self.Height:=screen.Height; self.left:=0; Self.Width:=screen.Width; // // 隐藏边框、置前... Self.FormStyle:=fsStayOnTop; Self.BorderStyle:=bsNone; end; end;
// // 双击恢复... procedure TMainForm.PlayerDblClick(Sender: TObject); var hWnd: integer; begin if Player.IsPlay and (Self.FormStyle=fsStayOnTop) then begin // // 恢复任务栏... if not IsAutoHide then begin hWnd := FindWindow('Shell_TrayWnd',nil); ShowWindow(hWnd,SW_SHOW); application.ProcessMessages; end; // // 恢复窗口大小、位置... self.Top:=y; self.Left:=x; self.Height:=h; self.Width:=w; // // 恢复资源栏、播放控制面板... Panel1.visible:=true; Panel2.visible:=true; // // 窗口置为普通、恢复边框... Self.BorderStyle:=bsSizeable; Self.FormStyle:=fsNormal; end; end;
// // 长度改变时... procedure TMainForm.PlayerMediaPlayerLengthChanged(Sender: TObject; time: Int64); var Seconds: integer; h,m,s: integer; begin Seconds:=Time div 1000; TrackBar1.Max:=Seconds; h:=Seconds div (60*60); m:=(Seconds-h*60*60) div 60; s:=Seconds-h*60*60-m*60; label3.Caption:=formatfloat('00.',h)+':'+formatfloat('00.',m)+':'+formatfloat('00.',s); end;
// // 时间改变时... procedure TMainForm.PlayerMediaPlayerTimeChanged(Sender: TObject; time: Int64); var Seconds: integer; h,m,s: integer; begin Seconds:=Time div 1000; TrackBar1.Position:=Seconds; h:=Seconds div (60*60); m:=(Seconds-h*60*60) div 60; s:=Seconds-h*60*60-m*60; label2.Caption:=formatfloat('00.',h)+':'+formatfloat('00.',m)+':'+formatfloat('00.',s); end;