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

📄 playerpage.h

📁 Last change: 2008-02-03 This is the source code of KCeasy。
💻 H
字号:
/*
This file is part of KCeasy (http://www.kceasy.com)
Copyright (C) 2002-2004 Markus Kern <mkern@kceasy.com>

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
*/
//---------------------------------------------------------------------------
#ifndef PlayerPageH
#define PlayerPageH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
#include <ComCtrls.hpp>
#include <OleCtrls.hpp>
#include <Menus.hpp>

#include "Engine.h"
#include "MPlayer.h"
//---------------------------------------------------------------------------

class TPlayerForm : public TForm
{
__published:	// IDE-managed Components
    TPanel *PlayerPanel;
    TSplitter *VSplitter;
    TPanel *DisplayPanel;
    TPanel *CtrlPanel;
    TSpeedButton *PlayBtn;
    TSpeedButton *PauseBtn;
    TSpeedButton *StopBtn;
    TStaticText *TimeStatic;
    TStaticText *TitleStatic;
    TTrackBar *SeekTrackBar;
    TPopupMenu *DisplayPopup;
    TMenuItem *PlayMnu;
    TMenuItem *PauseMnu;
    TMenuItem *StopMnu;
    TMenuItem *N1;
    TMenuItem *ZoomHalfMnu;
    TMenuItem *ZoomDefaultMnu;
    TMenuItem *ZoomDoubleMnu;
    TMenuItem *ZoomFitMnu;
    TMenuItem *ZoomMnu;
    TMenuItem *ZoomFullMnu;
    TMenuItem *N2;
    TTrackBar *VolumeTrackBar;
    TSpeedButton *MuteBtn;
    TPanel *HidePlayerPanel;
    TSpeedButton *HidePlayerBtn;
    TSpeedButton *VisualizationBtn;
    void __fastcall PlayBtnClick(TObject *Sender);
    void __fastcall PauseBtnClick(TObject *Sender);
    void __fastcall StopBtnClick(TObject *Sender);
    void __fastcall ZoomHalfMnuClick(TObject *Sender);
    void __fastcall ZoomDefaultMnuClick(TObject *Sender);
    void __fastcall ZoomDoubleMnuClick(TObject *Sender);
    void __fastcall ZoomFitMnuClick(TObject *Sender);
    void __fastcall ZoomFullMnuClick(TObject *Sender);
    void __fastcall VolumeTrackBarChange(TObject *Sender);
    void __fastcall MuteBtnClick(TObject *Sender);
    void __fastcall MPlayerStateChange(TObject* Sender, TMPlayerState NewState);
    void __fastcall MPlayerPositionChange(TObject* Sender, float Position, int Duration);
    void __fastcall MPlayerKeyPress(TObject *Sender, char &Key);
    void __fastcall MPlayerDisplayPopup(TObject* Sender, bool Show);
    void __fastcall HidePlayerBtnClick(TObject *Sender);
    void __fastcall VisualizationBtnClick(TObject *Sender);

private:	// User declarations
    bool Dragging;
    string OpenFile;

    TMPlayer *MPlayer;
    bool LoadMPlayer();

    void __fastcall (__closure *OldCtrlPanelProc)(TMessage &Msg);
    void __fastcall CtrlPanelProc(TMessage &Msg);

public:		// User declarations
    __fastcall TPlayerForm(TComponent* Owner);
    __fastcall ~TPlayerForm();
    void __fastcall Release();

    bool __fastcall EngineCallback(TCallbackInfo* CbInfo);
    bool PlayFile(const string& File);
    bool PlayStream(const string& Url);
    void StopPlayback();
    void ClosePlayback();
    const string& GetOpenFile();
    void SeekDrag(double Position);
    void SeekSet(double Position, bool Commit);
    bool SeekIsDragging();
};
//---------------------------------------------------------------------------
extern PACKAGE TPlayerForm *PlayerForm;
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -