⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit_bflbform.cpp

📁 VOD点歌系统
💻 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 + -