chxavplayerstate.h
来自「symbian 下的helix player源代码」· C头文件 代码 · 共 119 行
H
119 行
/************************************************************************
* chxavplayerstate.h
* ------------------
*
* Synopsis:
* CHXAvPlayerState is helper class for CHXAvPlayer. It maintains player
* state info and dispatches event notifications to observers. Observers
* can use this to query for current player state info.
*
*
* Target:
* Symbian OS
*
*
* (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
*
************************************************************************/
#ifndef CHXAVPLAYERSTATE_H__
#define CHXAVPLAYERSTATE_H__
#include "unkimp.h"
#include "hxstring.h"
#include "ihxpckts.h"
#include "hxurl.h"
#include "hxfiles.h"
//#include "chxavcallback.h"
#include "chxavplayerstatedispatch.h"
// class CHXAvPlayerState
class CHXAvPlayerState
{
public:
// main player states
enum State
{
Stopped,
Initiating,
Connecting,
Playing,
Seeking,
Paused
};
// buffering sub-state applies while playing, seeking, paused
enum BufferState
{
NotBuffering,
BufferLoad,
BufferSeek,
BufferPlain
};
public:
CHXAvPlayerState();
virtual ~CHXAvPlayerState();
void ConstructL();
public:
State GetState() const;
BufferState GetBufferingState() const;
UINT16 GetLastBufferPercent() const;
void RemoveObserver(IHXSymPlayerStateObserver *observer);
void AddObserver(IHXSymPlayerStateObserver *observer);
private:
friend class CHXAvPlayer;
// called by CHXAvPlayer
void OnPlayInitiate(const char *url);
void OnNetConnect();
void OnLoadSession(IHXRequest *request);
void OnResume();
void OnStop();
void OnPause();
void OnBuffering(ULONG32 type, UINT16 percent);
void OnBeginSeek();
void OnNewPos(ULONG32 time);
void OnVolume(unsigned int percentVol);
void OnMute(bool bMute);
void OnError(HX_RESULT code);
void OnAdvancePlaylist();
private:
// implementation
void ChangeState(State destState);
void ChangeBufferState(BufferState destState);
CHXAvPlayerStateDispatch* m_pDispatch;
State m_state;
BufferState m_bufferState;
UINT16 m_lastBufferPercent;
ULONG32 m_lastTime;
//CHXAvCallback m_cbConnectStateTransition;
};
inline
CHXAvPlayerState::State CHXAvPlayerState::GetState() const { return m_state; }
inline
CHXAvPlayerState::BufferState CHXAvPlayerState::GetBufferingState() const { return m_bufferState; }
inline
UINT16 CHXAvPlayerState::GetLastBufferPercent() const { return m_lastBufferPercent; }
#endif // CHXAVPLAYERSTATE_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?