⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 realplayer.pas

📁 关于DEPHI7.0的播放器管理系统源代码
💻 PAS
字号:
unit Realplayer;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ToolWin, ExtCtrls, OleCtrls, Inifiles,
  RealAudioObjects_TLB, ActnList, Menus;

type
  TFormRealPlayer = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    RealAudio1: TRealAudio;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    PopupMenu1: TPopupMenu;
    PopAbout: TMenuItem;
    N1: TMenuItem;
    PopPlay: TMenuItem;
    PopPause: TMenuItem;
    N3: TMenuItem;
    PopAdd: TMenuItem;
    PopDel: TMenuItem;
    N4: TMenuItem;
    Popexit: TMenuItem;
    ActionList1: TActionList;
    ActionClear: TAction;
    ActionPlay: TAction;
    ActionStop: TAction;
    ActionOpen: TAction;
    ActionSite: TAction;
    ActionClose: TAction;
    Cmb1: TComboBox;
    BTNAdd: TButton;
    BTN_AddSite: TButton;
    Cmb2: TComboBox;
    BTN_PlayFile: TButton;
    BTN_FileStop: TButton;
    BTN_LinkSite: TButton;
    BTN_LinkClose: TButton;
    BTN_FileDel: TButton;
    BTN_SiteClear: TButton;
    PopClear: TMenuItem;
    ActionPause: TAction;
    ActionDel: TAction;
    ActionAbout: TAction;
    ActionLink: TAction;
    procedure ActionOpenExecute(Sender: TObject);
    procedure ActionSiteExecute(Sender: TObject);
    procedure ActionPlayExecute(Sender: TObject);
    procedure BTNCloseClick(Sender: TObject);
    procedure ActionClearExecute(Sender: TObject);
    procedure ActionPauseExecute(Sender: TObject);
    procedure ActionCloseExecute(Sender: TObject);
    procedure PopAboutClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ActionDelExecute(Sender: TObject);
    procedure ActionAboutExecute(Sender: TObject);
    procedure ActionStopExecute(Sender: TObject);
    procedure ActionLinkExecute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
    RealName : Tinifile;  //Real列表文件名
    RealCount, RealIndex : Integer;  //REAL文件播放记录
    SiteCount, SiteIndex : Integer;  //网址记录
  end;

var
  FormRealPlayer: TFormRealPlayer;
  JlrFile : TextFile;

implementation
uses about, realmng;
{$R *.dfm}

procedure TFormRealPlayer.ActionOpenExecute(Sender: TObject);
var
FileTemp : String;
begin
  OpenDialog1.Title := '请选取Real(*.rm;*.ram)文件';
  OpenDialog1.Filter := 'Real文件(*.rm;*.ram)|*.rm;*.ram';
  if OpenDialog1.Execute then
    if OpenDialog1.FileName <> '' then
       begin
         FileTemp := OpenDialog1.FileName;
         Cmb1.Items.Add(FileTemp);
         RealName.WriteString('Real文件列表','No.['+inttostr(Cmb1.Items.Count-1)+']',FileTemp);
       end;
  Cmb1.ItemIndex :=  Cmb1.Items.Count-1;
  RealCount := Cmb1.Items.Count;
  RealIndex := Cmb1.ItemIndex;
  RealName.WriteInteger('Real列表','文件数', RealCount);
  RealName.WriteInteger('Real列表','文件号', RealIndex);
end;

procedure TFormRealPlayer.ActionSiteExecute(Sender: TObject);
begin
  FormRealMng.Show;
end;

procedure TFormRealPlayer.ActionPlayExecute(Sender: TObject);
Var i: Integer;
FileTemp : String;
begin
       i := Cmb1.ItemIndex;
       FileTemp := Cmb1.Items.Strings[i];
       RealAudio1.SetSource(FileTemp);
       if RealAudio1.CanPlay then
         RealAudio1.DoPlay;
end;

procedure TFormRealPlayer.BTNCloseClick(Sender: TObject);
begin
   RealAudio1.FreeOnRelease;
   close;
end;

procedure TFormRealPlayer.ActionClearExecute(Sender: TObject);
begin
  if SiteCount <= 0 then exit; //如果列表中为空则退出
  SiteCount := 0;
  SiteIndex := -1;
  RealName.WriteInteger('Real网址','网址数',SiteCount);
  RealName.WriteInteger('Real网址','网址号',SiteIndex);
  RealName.EraseSection('网址列表');
  Cmb2.Clear;
end;

procedure TFormRealPlayer.ActionPauseExecute(Sender: TObject);
begin
if RealAudio1.CanPlayPause then
    RealAudio1.DoPlayPause;
end;

procedure TFormRealPlayer.ActionCloseExecute(Sender: TObject);
begin
  RealAudio1.FreeOnRelease;
  close;
end;

procedure TFormRealPlayer.PopAboutClick(Sender: TObject);
begin
  FormAbout.Show;
end;

procedure TFormRealPlayer.FormCreate(Sender: TObject);
var
 i, j: Integer;
 tempname1, tempname2: String;
begin
  RealName := Tinifile.create(ExtractFilePath(paramstr(0))+'Media.Ini');
  RealCount := RealName.ReadInteger('Real列表','文件数',0);
  for j:=0 to RealCount-1 do
     begin
       tempname1 := RealName.ReadString('Real文件列表','No.['+inttostr(j)+']','');
       Cmb1.Items.Add(tempname1);
     end;
  RealIndex := RealName.ReadInteger('Real列表','文件号',-1);
  Cmb1.ItemIndex := RealIndex;
  SiteCount := RealName.ReadInteger('Real网址','网址数',0);
  for i:=0 to SiteCount-1 do
     begin
       tempname2 := RealName.ReadString('网址列表','No.['+inttostr(i)+']','');
       Cmb2.Items.Add(tempname2);
     end;
  SiteIndex := RealName.ReadInteger('Real网址','网址号',-1);
  Cmb2.ItemIndex := SiteIndex;
end;

procedure TFormRealPlayer.ActionDelExecute(Sender: TObject);
begin
  if RealCount <= 0 then exit; //如果列表中为空则退出
  RealCount := 0;
  RealIndex := -1;
  RealName.WriteInteger('Real列表','文件数',RealCount);
  RealName.WriteInteger('Real列表','文件号',RealIndex);
  RealName.EraseSection('Real文件列表');
  Cmb1.Clear;
end;

procedure TFormRealPlayer.ActionAboutExecute(Sender: TObject);
begin
  FormAbout.Show;
end;

procedure TFormRealPlayer.ActionStopExecute(Sender: TObject);
begin
   With RealAudio1 do
      if CanStop then
         doStop;
end;

procedure TFormRealPlayer.ActionLinkExecute(Sender: TObject);
var
i : Integer;
Temp : String;
begin
   i := Cmb2.ItemIndex;
   Temp := Cmb2.Items.Strings[i];
   if Temp <> '' then
      RealAudio1.SetSource(Temp);
   with  RealAudio1 do
      if CanPlay then
         DoPlay;
end;

procedure TFormRealPlayer.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   RealAudio1.DoPause;
   RealAudio1.FreeOnRelease;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -