MidiPlay.cpp
上传用户:lulishicai
上传日期:2010-03-01
资源大小:13202k
文件大小:2k
源码类别:

Delphi/CppBuilder

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "MidiPlay.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma resource "*.dfm"
  8. TMidiForm *MidiForm;
  9. //---------------------------------------------------------------------------
  10. __fastcall TMidiForm::TMidiForm(TComponent* Owner)
  11.         : TForm(Owner)
  12. {
  13. }
  14. //---------------------------------------------------------------------------
  15. void __fastcall TMidiForm::Timer1Timer(TObject *Sender)
  16. {
  17.     ScrollBar1->Min=0;
  18.    ScrollBar1->Max= MediaPlayer1->Length;
  19.   ScrollBar1->Position=MediaPlayer1->Position;
  20.     //显示播放进度
  21.         
  22. }
  23. //---------------------------------------------------------------------------
  24. void __fastcall TMidiForm::FormCreate(TObject *Sender)
  25. {
  26.     BitBtn1->Enabled=true;
  27.     BitBtn2->Enabled=false;
  28.     Timer1->Enabled=false;    
  29. }
  30. //---------------------------------------------------------------------------
  31. void __fastcall TMidiForm::BitBtn1Click(TObject *Sender)
  32. {
  33.     OpenDialog1->Title="请选择一个音乐文件:";
  34.     //设置对话框标题
  35.     OpenDialog1->Filter="音乐文件(*.mid)|*.mid";
  36.     //设置文件过滤器
  37.     OpenDialog1->Execute();
  38.     //显示对话框
  39.     if (OpenDialog1->FileName!="")
  40.     {
  41. //        MediaPlayer1->DeviceType=dtSequencer;
  42.         //设置多媒体设备类型
  43.         MediaPlayer1->FileName=OpenDialog1->FileName;
  44.         //设置文件的路径和文件名
  45.         MediaPlayer1->Open();
  46.         //打开多媒体设备
  47.         Timer1->Enabled=true;
  48.         ScrollBar1->Min=0;
  49.         ScrollBar1->Max=MediaPlayer1->Length;
  50.         //设置滚动条参数
  51.         BitBtn2->Enabled=true;
  52.         //设置按钮有效状态
  53.     }
  54.         
  55. }
  56. //---------------------------------------------------------------------------
  57. void __fastcall TMidiForm::BitBtn2Click(TObject *Sender)
  58. {
  59.     MediaPlayer1->Stop();
  60.     //停止播放声音
  61. Close();
  62. }
  63. //---------------------------------------------------------------------------
  64. void __fastcall TMidiForm::ScrollBar1Scroll(TObject *Sender,
  65.       TScrollCode ScrollCode, int &ScrollPos)
  66. {
  67.     MediaPlayer1->Position=ScrollBar1->Position;
  68.     //改变播放进度
  69.     MediaPlayer1->Play();
  70. }
  71. //---------------------------------------------------------------------------