iplayer.h

来自「这是一个用于歌词下载、上传、匹配的源代码」· C头文件 代码 · 共 76 行

H
76
字号
#pragma once

#define LRC_TITLE_MAX_LEN		256

class IPlayer
{
public:
	IPlayer()
	{
	}
	virtual ~IPlayer()
	{
	}

public:
	virtual void OnSongChanged(LPCTSTR szFullTitle) = 0;
	virtual void OnPlayTimeChanged(DWORD dwTimeCur) = 0;

	// Init and destroy.
	virtual BOOL Init() = 0;
	virtual void Quit() = 0;

	// Player Info
	virtual int GetPlayerName(char * lpszBuffer, int nBufSize) = 0;

	// Get player skin path
	virtual int GetCurSkinPath(char * lpszBuffer, int nBufSize) = 0;

	// Get player's proxy setting.
	virtual int GetProxy(char * lpszBuffer, int nBufSize) = 0;

	virtual HWND GetMainWnd() = 0;

	virtual HWND GetPluginParentWnd(RECT *rc) { return NULL; }

	// get player state and song info
	virtual DWORD GetPlayerState() = 0;

	//	BOOL GetCurSong(LPTSTR szTitle, int nSizeTitle, LPTSTR szArtist, int nSizeArtist) = 0;
	virtual int GetFullTitle(char * lpszBuffer, int nBufSize) = 0;
	virtual int GetTitle(char * lpszBuffer, int nBufSize) = 0;
	virtual int GetArtist(char * lpszBuffer, int nBufSize) = 0;
	virtual int GetAlbum(char * lpszBuffer, int nBufSize) = 0;
	virtual int GetSourceMedia(char * lpszSourceMedia, int nBufSize) = 0;

	virtual DWORD GetMediaLength() = 0;

	virtual DWORD GetPlayPos() = 0;
	virtual int HasVideo()
	{
		return 0;
	}

	// control player
	virtual BOOL Play() = 0;
	virtual BOOL Pause() = 0;
	virtual BOOL PlayPause() = 0;
	virtual BOOL Stop() = 0;
	virtual BOOL Prev() = 0;
	virtual BOOL Next() = 0;
	virtual BOOL SeekTo(int nMsPos) = 0;

	virtual void OnCodePageChanged(DWORD dwCodePage)
	{
	}

	virtual void OnNotifySkinCreated()
	{
	}

	virtual void SetTimeUpdateFreq(int nFreq)
	{
	}

};

⌨️ 快捷键说明

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