📄 unit_bflbform.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit_BFLBForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmBFLB *frmBFLB;
extern AnsiString strGM;
extern int iForms;
//---------------------------------------------------------------------------
__fastcall TfrmBFLB::TfrmBFLB(TComponent* Owner)
: TForm(Owner)
{
lstGD->Clear();
status = 1; //原唱
Muted = false;
}
//---------------------------------------------------------------------------
void TfrmBFLB::InitPages(int value)
{
if(vecTemp.size() > value)
edtPages->Text = "第" + IntToStr(curPages) + "页/共" + IntToStr(Pages) + "页";
else if(vecTemp.size() > 0)
edtPages->Text = "第1页/共1页";
else if(vecTemp.size() == 0)
edtPages->Text = "第0页/共0页";
}
void TfrmBFLB::InitList(int begin, int last)
{
lstGD->Clear();
while(begin != last)
{
lstGD->Items->Add(vecTemp[begin++]);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgPageDownMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgPageDown->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\下页.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgPageDownMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgPageDown->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\下页-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgDeleteMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgDelete->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\删除-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgDeleteMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgDelete->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\删除.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgRepeatMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgRepeat->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\重播-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgRepeatMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgRepeat->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\重播.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgAVolMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgAVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\增音量-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgAVolMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgAVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\增音量.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgDVolMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgDVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\减音量.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgDVolMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgDVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\减音量-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgNextMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgNext->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\下一首-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgNextMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgNext->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\下一首.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgStreamMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgStream->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\原伴唱-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgStreamMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgStream->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\原伴唱.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgPageUpMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgPageUp->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\上页-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgPageUpMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgPageUp->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\上页.jpg");
}
void __fastcall TfrmBFLB::imgEnterMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgEnter->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\确定-1.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgEnterMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
imgEnter->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\确定.jpg");
}
void __fastcall TfrmBFLB::lblHomeClick(TObject *Sender)
{
this->Visible = false;
frmHome->Visible = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::lblBackClick(TObject *Sender)
{
switch(iForms)
{
case 0:
this->Visible = false;
frmHome->Visible = true;
break;
case 1:
this->Visible = false;
frmPYXZ->Visible = true;
break;
case 2:
Dm->adoGDXZ->First(); //将歌单选择画面纪录移动到头部
this->Visible = false;
frmGDXZ->Visible = true;
break;
case 3:
this->Visible = false;
frmPYXZ->Visible = true;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::FormActivate(TObject *Sender)
{
if(!strGM.IsEmpty())
{
curPages = 1;
vecTemp.push_back(strGM.c_str());
Count = vecTemp.size();
if( Count > 13)
{
if((Others = Count % 13) == 0)
{
Pages = Count / 13;
}else{
Pages = Count / 13 + 1;
}
InitList(0, 13);
}else{
lstGD->Items->Add(strGM);
}
InitPages(13);
strGM = "";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgDeleteClick(TObject *Sender)
{
if(lstGD->Items->Count > 0)
{
lstGD->Items->Delete(lstGD->ItemIndex);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgPageDownClick(TObject *Sender)
{
if(Count > 13 && curPages + 1 < Pages)
{
curPages++;
InitPages(13);
InitList(13, 13 * 2);
}else if( Count > 13 && curPages + 1 == Pages){
curPages++;
InitPages(13);
InitList(Count - Others, Count);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgPageUpClick(TObject *Sender)
{
if(Count > 13 && curPages > 1)
{
curPages--;
InitPages(13);
if(curPages == Pages)
{
InitList(Count - 13 - Others, Count - Others);
} else
InitList((curPages - 1) * 13, curPages * 13);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::RePlay(TObject *Sender)
{
if(frmHome->mplayer->TMPGetStatusMode() != MCI_MODE_PLAY)
{
if(lstGD->Items->Count > 0)
{
AnsiString songname = lstGD->Items->Strings[0];
Dm->adoBFLB->Close();
Dm->adoBFLB->SQL->Clear();
Dm->adoBFLB->SQL->Add("select 路径1, wjm, bc, yc from song where gm = '" + songname + "'");
Dm->adoBFLB->Open();
AnsiString path = Dm->adoBFLB->Fields->Fields[0]->AsString;
AnsiString file = Dm->adoBFLB->Fields->Fields[1]->AsString;
bc = Dm->adoBFLB->Fields->Fields[2]->AsString;
yc = Dm->adoBFLB->Fields->Fields[3]->AsString;
//frmHome->mplayer->TMPOpen("\\\\Larry\\c\\陈升\\北京一夜.mpg");
TrackBar1->Position = 2500;
if (FileExists(path + file))
{
frmHome->mplayer->TMPOpen(path + file);
frmHome->mplayer->TMPSetAudioVolume(2500);
//Panel1->Top = -100;
//Panel1->Left = -100;
//mplayer->TMPSetDisplay(Panel1->Handle);
PlayMode(yc);
frmHome->mplayer->TMPPlay();
}else
MessageBox(frmBFLB->Handle, "指定的文件不存在", "错误", MB_OK);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::Pause(TObject *Sender)
{
if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY)
{
imgPause->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\播放.jpg");
frmHome->mplayer->TMPause();
} else {
imgPause->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\暂停.jpg");
frmHome->mplayer->TMPPlay();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::Next(TObject *Sender)
{
if(vecTemp.size() == 1)
{
lstGD->Clear();
RePlay(NULL);
}else{
for( int i = 0; i < vecTemp.size() - 1; ++i )
{
vecTemp[i] = vecTemp[i + 1];
}
vecTemp.pop_back();
InitPages(13);
if(vecTemp.size() > 13)
InitList(0, 13);
else
InitList(0, vecTemp.size());
if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY)
Pause(NULL);
RePlay(NULL);
}
}
//---------------------------------------------------------------------------
void TfrmBFLB::PlayMode(AnsiString mode)
{
if(mode == "左")
{
frmHome->mplayer->TMPSetAudioSourceLeft();
}else if(mode == "右"){
frmHome->mplayer->TMPSetAudioSourceRight();
}else if(mode == "1"){
frmHome->mplayer->TMPSetAudioOff();
frmHome->mplayer->TMPSetStream(0);
frmHome->mplayer->TMPSetAudioOn();
}else if(mode == "2"){
frmHome->mplayer->TMPSetAudioOff();
frmHome->mplayer->TMPSetStream(1);
frmHome->mplayer->TMPSetAudioOn();
}else if(mode == "3"){
frmHome->mplayer->TMPSetAudioOff();
frmHome->mplayer->TMPSetStream(2);
frmHome->mplayer->TMPSetAudioOn();
}
}
void __fastcall TfrmBFLB::imgStreamClick(TObject *Sender)
{
switch(status)
{
case 0: //伴唱
PlayMode(bc);
status = 1;
break;
case 1: //原唱
PlayMode(yc);
status = 0;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::DVol(TObject *Sender)
{ //减音量
if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY)
{
TrackBar1->Position -= TrackBar1->Frequency;
frmHome->mplayer->TMPSetAudioVolume(TrackBar1->Position);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::AVol(TObject *Sender)
{ //加音量
if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY)
{
TrackBar1->Position += TrackBar1->Frequency;
frmHome->mplayer->TMPSetAudioVolume(TrackBar1->Position);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::Mute(TObject *Sender)
{ //静音
if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY)
{
if(Muted)
{
Muted = false;
frmHome->mplayer->TMPSetAudioOn();
imgMute->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\静音.jpg");
}else{
Muted = true;
frmHome->mplayer->TMPSetAudioOff();
imgMute->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\静音-1.jpg");
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBFLB::imgRepeatClick(TObject *Sender)
{
RePlay(NULL);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -