www.pudn.com > AVI播放器―MediaPlayer控件.zip > main.cpp


//--------------------------------------------------------------------------- 
 
#include  
#pragma hdrstop 
 
#include "main.h" 
//--------------------------------------------------------------------------- 
#pragma package(smart_init) 
#pragma resource "*.dfm" 
TForm1 *Form1; 
//--------------------------------------------------------------------------- 
__fastcall TForm1::TForm1(TComponent* Owner) 
        : TForm(Owner) 
{ 
} 
//--------------------------------------------------------------------------- 
void __fastcall TForm1::FormCreate(TObject *Sender) 
{ 
        MediaPlayer1->Notify = true; 
        Timer1->Enabled = false; 
        MediaPlayer1->TimeFormat = tfMilliseconds; 
} 
//--------------------------------------------------------------------------- 
void TForm1::ShowState() 
{ 
        MediaPlayer1->TimeFormat = tfMilliseconds; 
        Panel1->Caption = AnsiString("分钟: ") + AnsiString(MediaPlayer1->Position/60000); 
        TrackBar1->Position = MediaPlayer1->Position; 
} 
void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender) 
{ 
        if(MediaPlayer1->NotifyValue == nvSuccessful) 
        { 
                //设置快进帧数 
                MediaPlayer1->TimeFormat = tfFrames; 
                MediaPlayer1->Frames = MediaPlayer1->Length/20; 
                MediaPlayer1->TimeFormat = tfMilliseconds; 
                TrackBar1->Min = MediaPlayer1->StartPos; 
                TrackBar1->Max = MediaPlayer1->Length; 
                TrackBar1->Frequency = MediaPlayer1->Length/10; 
                TrackBar1->LineSize = MediaPlayer1->Length/10; 
                Start->Caption = AnsiString(MediaPlayer1->StartPos/60000); 
                End->Caption = AnsiString(MediaPlayer1->TrackLength[1]/60000); 
                ShowState(); 
                Form1->Cursor = crDefault; 
        } 
} 
//--------------------------------------------------------------------------- 
void __fastcall TForm1::TrackBar1Change(TObject *Sender) 
{ 
        MediaPlayer1->TimeFormat = tfMilliseconds; 
        MediaPlayer1->Position = TrackBar1->Position; 
        ShowState(); 
        MediaPlayer1->Play(); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TForm1::Timer1Timer(TObject *Sender) 
{ 
        ShowState(); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TForm1::N2Click(TObject *Sender) 
{ 
        OpenDialog1->Filter = "视频文件(*.avi)|*.avi"; 
        if(OpenDialog1->Execute()) 
        { 
                MediaPlayer1->FileName =  OpenDialog1->FileName; 
                MediaPlayer1->Open(); 
                Form1->Cursor = crHourGlass; 
        } 
} 
//--------------------------------------------------------------------------- 
void __fastcall TForm1::MediaPlayer1Click(TObject *Sender, 
      TMPBtnType Button, bool &DoDefault) 
{ 
        switch(Button) 
        { 
                case btPlay: 
                       Timer1->Enabled = true; //开时钟 
                        break; 
                case btPause: 
                        Timer1->Enabled = false; //关时钟 
                        break; 
                case btStop: 
                        Timer1->Enabled = false; 
                        break; 
                case Mplayer::btNext: 
                        ShowState(); 
                        break; 
                case Mplayer::btPrev: 
                        ShowState(); 
                        break; 
                case btStep: 
                        ShowState(); 
                        break; 
                case btBack: 
                        ShowState(); 
                        break; 
                case btRecord: 
                        break; 
                case btEject: 
                        break; 
        } 
} 
//---------------------------------------------------------------------------