RAD Studio VCL Reference
|
TMediaPlayer controls devices that provide a Media Control Interface (MCI) driver.
TMediaPlayer = class(TCustomControl);
class TMediaPlayer : public TCustomControl;
The TMediaPlayer component includes a set of buttons (Play, Stop, Eject, and so on) that control a multimedia device such as a CD-ROM drive, MIDI sequencer, or VCR. A multimedia device may be hardware or software.
The media player component contains of multiple buttons. These buttons can be clicked with the mouse, but are not separate objects or button components.
ButtonValueAction
Button |
Value |
Action |
btPlay |
Plays the media player | |
btPause |
Pauses playing or recording. If already paused when clicked, resumes playing or recording. | |
btStop |
Stops playing or recording | |
btNext |
Skips to the next track, or to the end if the medium doesn't use tracks | |
Prev |
btPrev |
Skips to the previous track, or to the beginning if the medium doesn't use tracks |
btStep |
Moves forward a number of frames | |
btBack |
Moves backward a number of frames | |
Record |
btRecord |
Starts recording |
btEject |
Ejects the medium |
The multimedia device is played, paused, stopped, and so on when the user clicks the corresponding button on the TMediaPlayer component. The device can also be controlled by the control methods that correspond to the buttons (Play, Pause, Stop, Next, Previous, Step, Back, StartRecording, and Eject).
The type of multimedia device (such as dtWaveAudio or dtVideodisc) is specified by the DeviceType property. If the device stores its media in a file, the name of the media file is specified by the FileName property. If DeviceType is dtAutoSelect, the media player attempts to determine the type of device from the extension of the file specified by FileName.
To have the media player attempt to open the device specified by DeviceType automatically when the media player component is created at runtime, set the AutoOpen property to true.
C++ Examples:
// //This example demonstrates the use of TMediaPlayer component. Assuming 2 buttons //for Open and Stop are present on the form. //Note: AutoEnable must be set to false to be able to control //the buttons manually. // void __fastcall TForm2::btOpenClick(TObject *Sender) { TOpenDialog* OpenMediaDialog; OpenMediaDialog = new TOpenDialog(this); OpenMediaDialog->Filter = "All Video Files (*.avi)|*.avi"; // There are avi files in // C:\Documents and Settings\All Users\Documents\RAD Studio\6.0\Demos\DelphiWin32\VCLWin32\CoolStuff if (OpenMediaDialog->Execute()) { /* Assign a file to the media player */ MediaPlayer1->FileName = OpenMediaDialog->FileName; /* Check if the file exists and is not a directory */ if ((FileExists(OpenMediaDialog->FileName)) && (!DirectoryExists(OpenMediaDialog->FileName))) { /* Open the files */ MediaPlayer1->Wait = true; MediaPlayer1->Open(); MediaPlayer1->Play(); /* Override automatic button controlling */ MediaPlayer1->EnabledButtons = TButtonSet() << TMPBtnType::btPause << TMPBtnType::btStop << TMPBtnType::btPlay; /* Enable the stop button */ btStop->Enabled = true; btOpen->Enabled = false; } } delete OpenMediaDialog; } void __fastcall TForm2::btStopClick(TObject *Sender) { /* Stop and close the media */ MediaPlayer1->Stop(); MediaPlayer1->Close(); MediaPlayer1->EnabledButtons = TButtonSet(); /* Enable open button again */ btOpen->Enabled = true; } void __fastcall TForm2::FormCreate(TObject *Sender) { /* Disable all buttons */ MediaPlayer1->AutoEnable = false; MediaPlayer1->EnabledButtons = TButtonSet(); } void __fastcall TForm2::MediaPlayer1PostClick(TObject *Sender, TMPBtnType Button) { if (Button == TMPBtnType::btStop) btStop->Click(); }
Delphi Examples:
{ This example demonstrates the use of TMediaPlayer component. Assuming 2 buttons for Open and Stop are present on the form. Note: AutoEnable must be set to false to be able to control the buttons manually. } procedure TForm2.btOpenClick(Sender: TObject); var OpenMediaDialog : TOpenDialog; begin OpenMediaDialog := TOpenDialog.Create(Self); OpenMediaDialog.Filter := 'All Video Files (*.avi)|*.avi'; // There are avi files in // C:\Documents and Settings\All Users\Documents\RAD Studio\6.0\Demos\DelphiWin32\VCLWin32\CoolStuff if OpenMediaDialog.Execute() then begin { Assign a file to the media player } MediaPlayer1.FileName := OpenMediaDialog.FileName; { Check if the file exists and is not a directory } if (FileExists(OpenMediaDialog.FileName)) and (not DirectoryExists(OpenMediaDialog.FileName)) then begin { Open the files } MediaPlayer1.Wait := true; MediaPlayer1.Open; MediaPlayer1.Play; { Override automatic button controlling } MediaPlayer1.EnabledButtons := [TMPBtnType.btPause, TMPBtnType.btStop, TMPBtnType.btPlay]; { Enable the stop button } btStop.Enabled := true; btOpen.Enabled := false; end; end; OpenMediaDialog.Free; end; procedure TForm2.btStopClick(Sender: TObject); begin { Stop and close the media } MediaPlayer1.Stop; MediaPlayer1.Close; MediaPlayer1.EnabledButtons := []; { Enable open button again } btOpen.Enabled := true; end; procedure TForm2.FormCreate(Sender: TObject); begin { Disable all buttons } MediaPlayer1.AutoEnable := false; MediaPlayer1.EnabledButtons := []; end; procedure TForm2.MediaPlayer1PostClick(Sender: TObject; Button: TMPBtnType); begin if Button = TMPBtnType.btStop then btStop.Click; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|