新手用C++ Builder编一个音频播放器,程序编译链接成功,运行时点播放按钮无反应,求大侠帮忙。
新手用C++ Builder编一个音频播放器,程序编译链接成功,运行时点播放按钮无反应,求大侠帮忙。
以下为程序代码:
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <Menus.hpp>
#include <MPlayer.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMediaPlayer *MediaPlayer1;
TMainMenu *MainMenu1;
TMenuItem *N1;
TMenuItem *N6;
TMenuItem *N7;
TMenuItem *N9;
TMemo *Memo1;
TOpenDialog *OpenDialog1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
TMenuItem *N5;
TMenuItem *N10;
TMenuItem *N8;
TTimer *Timer1;
TLabel *Label1;
TEdit *Edit1;
TTrackBar *TrackBar1;
void __fastcall N2Click(TObject *Sender);
void __fastcall N3Click(TObject *Sender);
void __fastcall N5Click(TObject *Sender);
void __fastcall N7Click(TObject *Sender);
void __fastcall N10Click(TObject *Sender);
void __fastcall N9Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
private:
int mCount;
void __fastcall OpenFile(AnsiString mFileName);
void __fastcall RandomSort(void); // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenFile(AnsiString mFileName)
{
AnsiString str = mCount + 1;
str += "/";
str += Memo1 -> Lines -> Count;
str += " " + mFileName;
Edit1 -> Text = str;
MediaPlayer1 -> FileName = mFileName;
try
{
MediaPlayer1 -> Open();
}
catch(...)
{
ShowMessage("无法播放该文件!就是不给你听!");
return;
}
MediaPlayer1 -> Play();
TrackBar1 -> Min = 0;
TrackBar1 -> Max = MediaPlayer1 -> Length;
Timer1 -> Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RandomSort(void)
{
if(Memo1 -> Lines -> Count < 2) return;
AnsiString str;
int I,J;
randomize();
for(I = 0; I < Memo1 -> Lines -> Count; I++)
{
J = random(Memo1 -> Lines -> Count);
str = Memo1 -> Lines -> Strings[I];
Memo1 -> Lines -> Strings[I] = Memo1 -> Lines -> Strings[J];
Memo1 -> Lines -> Strings[J] = str;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
char str[32];
GetWindowsDirectory(str,30);
OpenDialog1 -> InitialDir = AnsiString(str) + "\\谢霆锋";
OpenDialog1 -> Filter = "声音(*.mp3)|*.mp3|所有文件(*.*)|*.*";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TrackBar1 -> Position = MediaPlayer1 -> Position;
if(MediaPlayer1 -> Position == MediaPlayer1 -> Length)
{
if(mCount < Memo1 -> Lines -> Count)
{
MediaPlayer1 -> Close();
OpenFile(Memo1 -> Lines -> Strings[mCount]);
mCount++;
}
else
{
if(N7 -> Checked)
{
if(N9 -> Checked) RandomSort();
mCount = 0;
OpenFile(Memo1 -> Lines -> Strings[mCount]);
mCount++;
}
else
Timer1 -> Enabled = false;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
if(OpenDialog1 -> Execute())
{
Memo1 -> Lines -> Clear();
for(int I = OpenDialog1 -> Files -> Count-1; I >= 0; I--)
Memo1 -> Lines -> Add(OpenDialog1 -> Files -> Strings[I]);
if(N9 -> Checked) RandomSort();
mCount = 0;
OpenFile(Memo1 -> Lines -> Strings[mCount]);
mCount++;
OpenDialog1 -> InitialDir = GetCurrentDir();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{
MediaPlayer1 -> Close();
Timer1 -> Enabled = false;
TrackBar1 -> Position = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N5Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{
N7 -> Checked =! N7 -> Checked;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N10Click(TObject *Sender)
{
N10 -> Checked = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N9Click(TObject *Sender)
{
N9 -> Checked = true;
}