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; } } //---------------------------------------------------------------------------