📄 smbmusicapmainplayerplayview.h
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerPlayView.h
//
// Description:
// 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺價儏乕僋儔僗偺掕媊僿僢僟
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/04/28 |K3拞堜 | 弶斉儕儕乕僗
//2006/07/05 |K3拞堜 | 嵞惗嬋忣曬庢摼幐攕帪偺懳墳
//2006/07/07 |K3拞堜 | 嵞惗晄壜捠抦張棟偺曄峏乮嵞惗掆巭幐攕帪儕僩儔僀偡傞丅乯
//2006/07/10 |K3拞堜 | ProcNotifyStopPlayL()捛壛
//2006/07/12 |K3拞堜 | 嵞惗晄壜嬋張棟張棟偺曄峏丄偦偺懠
//2006/07/21 |K3拞堜 | 儗僕儏乕儉張棟忬懺捛壛
//2006/07/22 |K3拞堜 | 僒僽儊僯儏乕儊儞僶乕捛壛
//2006/07/27 |K3拞堜 | 傾僾儕掅揹埑帪偺嵞惗奐巒梫媮曐棷梡偺儊儞僶捛壛
//2006/07/31 |K3拞堜 | TRK:5202 憗憲傝夋柺丄憗栠偟夋柺峏怴張棟偺懳墳
//2006/08/01 |K3戝嫶 | 廔椆妋擣僟僀傾儘僌偺僋儘乕僘傪捠抦偡傞僀儞僞僼僃乕僗傪捛壛
//2006/08/05 |K3拞堜 | iPlayComplete捛壛
//2006/08/07 |K3拞堜 | 夋柺愗懼偊帪偵價僕儏傾儔僀僓乕昞帵偵偡傞偙偲偺懳墳
//2006/08/09 |K3拞堜 | CompleteDeleteSong()傪CompleteDeleteSongL()偵曄峏
//2006/08/11 |K3拞堜 | TRK:6212 摢弌偟帪偵嵞惗惂尷僆乕僶乕偲側偭偨応崌偺懳張
//2006/08/15 |K3拞堜 | 儅僫乕儌乕僪敾掕儊僜僢僪捛壛
//2006/08/21 |K3拞堜 | TRK:6911懳墳 iKeyEvent儊儞僶乕捛壛
//2006/08/25 |K3拞堜 | 僕儍働僢僩夋憸偵懳墳偡傞僀儞僨僢僋僗斣崋捛壛
//2006/08/28 |K3拞堜 | TRK:7225 CallBackRetryTimer儊僜僢僪捛壛
//2006/08/31 |K3拞堜 | TRK:8084懳墳 iFailSkip儊儞僶乕捛壛
//2006/09/06 |K3拞堜 | TRK:7474懳墳 iProcFail儊儞僶乕捛壛
//2006/09/07 |K3戝嫶 | HandleBatteryLowPauseL()偑曉傝抣傪曉偡傛偆偵奼挘偝傟偨偙偲偵懳墳
//2006/09/12 |K3拞堜 | 尰嵼偺嵞惗嬋忣曬偺嬋僀儞僨僢僋僗偲堦抳偟偰偄傞応崌偼敪峴偟側偄懳張
//2006/09/13 |K3拞堜 | RespResizeImageL()偺堷悢傪曄峏(傾僀僐儞僨乕僞嶍彍)
//2006/09/15 |K3拞堜 | NotifyBatteryLowPlayL()偺堷悢傪曄峏(傾僀僐儞僨乕僞嶍彍)
//2006/09/18 |K3拞堜 | TRK:9450懳墳 iPlayCancel儊儞僶乕捛壛
//2006/09/20 |K3拞堜 | TRK:7935懳墳 RespGetImageNum()偺堷悢偵SDBind妝嬋僼儔僌傪捛壛
//2006/09/21 |K3拞堜 | iBeforeIndex儊僜僢僪捛壛
//2006/09/22 |K3拞堜 | TRK:9537, 9802, 9805, 9809, 9823, 9896
//2006/09/25 |K3拞堜 | RespPlayStartL儊僜僢僪偺堷悢曄峏
//2006/09/28 |K3拞堜 | CompleteDeleteSongL()偺堷悢曄峏
//2006/09/29 |K3拞堜 | TRK:7935 RespGetImageNum()偺堷悢傪曄峏
//2006/10/02 |K3拞堜 | iPauseState儊僜僢僪捛壛
//2006/10/02 |K3拞堜 | TRK:9898, 9902 懳墳 iStartPause儊儞僶乕捛壛
//2006/10/10 |K3拞堜 | TRK:10513 iCancelTimeGet儊儞僶乕捛壛
//2006/10/11 |K3拞堜 | TRK:10291 iPauseAction儊儞僶乕捛壛
//2006/10/13 |K3拞堜 | iReqPreparePlay儊儞僶乕捛壛
//2006/10/14 |K3拞堜 | ProcCancelAction()儊僜僢僪捛壛
//2006/10/16 |K3拞堜 | TRK:11623 iPlay2Start儊儞僶乕捛壛
//2006/10/20 |K3拞堜 | TRK:9902 iPauseWaiting儊儞僶乕捛壛
//2006/10/20 |K3拞堜 | 摨婜僒乕僶偐傜偺KErrServerTerminated傪捠抦偝傟偨帪偺張棟傪捛壛
//2006/10/23 |K3拞堜 | TRK:11975 DecideMannerModePlayL儊僜僢僪偺堷悢曄峏
//2006/10/27 |K3拞堜 | TRK:11935 NotifyExitApp()儊僜僢僪捛壛
/// 價儏乕僋儔僗掕媊
/**
* @file SmbMusicAPMainPlayerPlayView.h
*
* 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺價儏乕僋儔僗偺掕媊僿僢僟
*/
#ifndef __SMBMUSICAPMAINPLAYERPLAYVIEW_H__
#define __SMBMUSICAPMAINPLAYERPLAYVIEW_H__
#ifndef __SMBMUSICAPMAINPLAYERVIEWBASE_H__
#include "SmbMusicAPMainPlayerViewBase.h"
#endif
#ifndef __E32BASE_H__
#include <e32base.h>
#endif
#ifndef __SKONDIALOGBASE_H__
#include <SkonDialogBase.h>
#endif
#ifndef SKONPOPUPMENU_H__
#include <SkonSubMenu.h>
#endif
#ifndef __FBS_H__
#include <fbs.h>
#endif
#ifndef __SMBPGMUSIC_H__
#include <SmbPGMusic.h>
#endif
#ifndef __SMBMUSICAPSYNCENGINE_H__
#include <SmbMusicAPSyncEngine.h>
#endif
#ifndef __SMBMUSICAPMAINPLAYERCOMMONDEF_H__
#include "SmbMusicApMainPlayerCommonDef.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERDIALOGOBSERVER_H__
#include "SmbMusicAPMainPlayerDialogObserver.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERPLAYDRAWOBSERVER_H__
#include "SmbMusicAPMainPlayerPlayDrawObserver.h"
#endif
#ifndef __SMBMUSICMAINPLAYERPLAYHANDLER_H__
#include "SmbMusicAPMainPlayerPlayHandler.h"
#endif
#ifndef SMBMUSICAPMAINPLAYERPLAYCMD_H__
#include "SmbMusicAPMainPlayerPlayCmd.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERPLAYPROC_H__
#include "SmbMusicAPMainPlayerPlayProc.h"
#endif
#ifndef __SBMMUSICAPMAINPLAYERPLAYOBSERVER_H__
#include "SmbMusicAPMainPlayerPlayObserver.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERPLAYDRAWER_H__
#include "SmbMusicAPMainPlayerPlayDrawer.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERPLAYDELETE_H__
#include "SmbMusicAPMainPlayerPlayDelete.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERFILTEROBSERVER_H__
#include "SmbMusicAPMainPlayerFilterObserver.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERPLAYVIEW_HRH__
#include "SmbMusicAPMainPlayerPlayView.hrh"
#endif
SEMCJ_NAMESPACE_BEGIN
class CSmbMusicAPMainPlayerAppUi;
class CSmbMusicAPMainPlayerPlayView;
class CSmbMusicAPMainPlayerStateBase;
class CSmbMusicAPMainPlayerStateInitial;
/**
* 嵞惗價儏乕忬懺掕媊
*/
enum TSmbMusicAPMainPlayerPlayStatus
{
ESmbMusicAPMainPlayerPlayInitial, //< 枹張棟忬懺乮弶婜忬懺乯
ESmbMusicAPMainPlayerPlayPlaying, //< 嵞惗拞忬懺
ESmbMusicAPMainPlayerPlayStop, //< 掆巭拞忬懺
ESmbMusicAPMainPlayerPlayPlayFF, //< 憗憲傝拞忬懺
ESmbMusicAPMainPlayerPlayPlayFR, //< 憗栠偟拞忬懺
ESmbMusicAPMainPlayerPlayPlayResourceFail, //< 儕僜乕僗嫞崌忬懺
};
/**
* 嵞惗價儏乕張棟忬懺掕媊
*/
enum TSmbMusicAPMainPlayerPlayProcStatus
{
ESmbMusicAPMainPlayerPlayProcNone = 0, //< 枹張棟忬懺
ESmbMusicAPMainPlayerPlayProcEngUse, //< 摨婜僄儞僕儞巊梡尃妉摼捠抦帪張棟忬懺
ESmbMusicAPMainPlayerPlayProcStartPlay, //< 嵞惗奐巒張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlay, //< 宲懕嵞惗張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayAction, //< 嵞惗憖嶌張棟忬懺
ESmbMusicAPMainPlayerPlayProcStop, //< 掆巭張棟忬懺 TRK:9226 2006.09.14
ESmbMusicAPMainPlayerPlayProcStopChange, //< 掆巭張棟忬懺(嬋曄壔) TRK:7702 2006.09.18
ESmbMusicAPMainPlayerPlayProcStopOfStart, //< 嵞惗奐巒張棟拞掆巭 TRK:10243 2006.10.10
ESmbMusicAPMainPlayerPlayProcChange, //< 價儏乕愗懼偊張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayFF, //< 憗憲傝張棟忬懺
ESmbMusicAPMainPlayerPlayProcCancelFF, //< 憗憲傝夝彍張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayFR, //< 憗栠偟張棟忬懺
ESmbMusicAPMainPlayerPlayProcCancelFR, //< 憗栠偟夝彍張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlaySongHead, //< 摢弌偟張棟忬懺
ESmbMusicAPMainPlayerPlayProcNextSong, //< 嬋憲傝張棟忬懺
ESmbMusicAPMainPlayerPlayProcPrevSong, //< 嬋栠偟張棟忬懺
ESmbMusicAPMainPlayerPlayProcDelete, //< 僼傽僀儖嶍彍張棟忬懺
ESmbMusicAPMainPlayerPlayProcStartSong, //< 嵞惗奐巒捠抦張棟忬懺
ESmbMusicAPMainPlayerPlayProcChangeSong, //< 嵞惗嬋曄峏捠抦張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayFFEnd, //< 憗憲傝廔抂専弌張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayFRTop, //< 憗栠偟愭摢専弌張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayFFUpdate, //< 憗憲傝夋柺峏怴張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayFRUpdate, //< 憗栠偟夋柺峏怴張棟忬懺
ESmbMusicAPMainPlayerPlayProcListEnd, //< 儕僗僩嵞惗姰椆張棟忬懺
ESmbMusicAPMainPlayerPlayProcSdCard, //< 奜晹儊儌儕憓敳張棟忬懺
ESmbMusicAPMainPlayerPlayProcFailSong, //< 嵞惗晄壜嬋張棟忬懺
ESmbMusicAPMainPlayerPlayProcFailSongSkip, //< 嵞惗晄壜嬋僗僉僢僾張棟忬懺
ESmbMusicAPMainPlayerPlayProcFailSongCancel, //< 嵞惗晄壜嬋僗僉僢僾僉儍儞僙儖張棟忬懺
ESmbMusicAPMainPlayerPlayProcFailResource, //< 儕僜乕僗嫞崌張棟忬懺
ESmbMusicAPMainPlayerPlayProcReqPrepare, //< 僼傿儖僞價儏乕偐k傜偺嵞惗弨旛張棟忬懺
ESmbMusicAPMainPlayerPlayProcPlayResume, //< 儗僕儏乕儉嵞惗奐巒張棟
ESmbMusicAPMainPlayerPlayProcPlayLowBattery, //< 傾僾儕掅揹埑丄80昩慜乮嵞惗奐巒拞乯
ESmbMusicAPMainPlayerPlayProcPlayLcdOn, //< LCD僆儞帪偺嵞昤夋 TRK9575 2006.10.10
ESmbMusicAPMainPlayerPlayProcLimitCount, //< 嵞惗夞悢惂尷晅偒僼傽僀儖張棟 2007.03.16
ESmbMusicAPMainPlayerPlayProcListEndLimitCount, //< 嵞惗夞悢惂尷晅偒嵞惗儕僗僩廔椆 2007.04.24
ESmbMusicAPMainPlayerPlayProcGracePeriod //< 僌儗乕僗僺儕僆僪婜娫撪僐儞僥儞僣張棟 2007.03.22
};
/**
* 僉乕僀儀儞僩梡娭悢偺掕媊
*/
typedef void(*TSmbMusicAPMainPlayerPlayKeyFunc)(CSmbMusicAPMainPlayerPlayView& aKeyFunc);
/**
* 僉乕僀儀儞僩庴晅庬暿掕媊
*/
enum TSmbMusicAPMainPlayerPlayKeyAccept
{
ESmbMusicAPMainPlayerPlayKeyUse = 1, //< 張棟偁傝
ESmbMusicAPMainPlayerPlayKeyRelease, //< 柍岠乮攑婞乯
ESmbMusicAPMainPlayerPlayKeyUnUse //< 旕徚旓
};
/**
* 僉乕僀儀儞僩懳墳掕媊峔憿懱
*/
struct TSmbMusicAPMainPlayerPlayKeyEvent
{
TUint iKeyCode; //< 僉乕僐乕僪
TSmbMusicAPMainPlayerPlayKeyAccept iAccept; //< 僉乕庴晅偗庬暿
TSmbMusicAPMainPlayerPlayKeyFunc iShortPressFunc; //< 抁墴偟帪偺娭悢
TSmbMusicAPMainPlayerPlayKeyFunc iLongPressFunc; //< 挿墴偟帪偺娭悢
TSmbMusicAPMainPlayerPlayKeyFunc iRepeatFunc; //< 儕僺乕僩帪偺娭悢
};
// 嵞惗晄壜嬋僗僉僢僾娫妘僞僀儅抣乮500msec乯
const TInt KSmbMusicAPMainPlayerPlayFailDelay = 500;
const TInt KSmbMusicAPMainPlayerPlayDefaaultJaket = -1;
// Add 2007.09.04 嵞惗奐巒偐傜偺嬋憲傝敾掕偺僞僀儅抣
const TInt KSmbMusicAPMainPlayerStartTimer = 3 * 1000 * 1000;
const TInt KSmbMusicAPMainPlayerStartTimerSec = 3;
/**
* 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺價儏乕僋儔僗
*/
class CSmbMusicAPMainPlayerPlayView : public CSmbMusicAPMainPlayerViewBase,
public MSmbMusicAPMainPlayerPlayDrawObserver,
public MSmbMusicAPMainPlayerPlayObserver,
public MSmbMusicAPMainPlayerPlayDeleteObserver,
public MSmbMusicAPMainPlayerDialogObserver,
public MSmbMusicAPMainPlayerFilterObserver
{
public: // Constructor/Destructor
/**
* 僋儔僗惗惉
* @param[in] aMusicAPMainPlayerEnv 儊僀儞僾儗僀儎乕娐嫬
* @param[in] aMusicSyncEngine 摨婜僄儞僕儞
* @param[in] aSelectView 専嶕宯價儏乕
* @return 惗惉偟偨CSmbMusicAPMainPlayerPlayView僆僽僕僃僋僩
*/
static CSmbMusicAPMainPlayerPlayView* NewL(MSmbMusicAPMainPlayerEnv& aPlayerEnv,
CSmbMusicAPSyncEngine& aMusicSyncEngine,
// Change 2007.09.03
// MSmbMusicAPMainPlayerPlayHandler& aSelectView
MSmbMusicAPMainPlayerPlayHandler& aSelectView,
CFbsBitmap* aOffScreen, // Add 2007.09.01
CSkonBitGc* iSkonGc
);
/**
* 僨僗僩儔僋僞
*/
~CSmbMusicAPMainPlayerPlayView();
public: // CSmbMusicAPMainPlayerViewBase
void DoConstructContainerL();
void DoViewActivatedImplL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
TKeyResponse OfferKeyEventImplL(const TKeyEvent& aKeyEvent, TEventCode aType);
MSmbMusicAPMainPlayerEventHandler* EventHandler() const;
void ViewDeactivated();
public: // MSmbMusicAPMainPlayerPlayObserver
void RespPreparePlayL(TInt aResult);
void RespPlayStartL(TInt aResult, TInt aIndex);
void RespPlayStopL(TBool aResult);
void RespStartPlayFFL(TBool aResult);
// Change 2007.07.24
// void RespCancelPlayFFL(TBool aResult);
void RespCancelPlayFFL(TInt aResult);
// Change End 2007.07.24
void RespStartPlayFRL(TBool aResult);
void RespCancelPlayFRL(TInt aResult);
void RespPlayNextL(TInt aResult, TInt aIndex);
void RespPlayPrevL(TInt aResult, TInt aIndex);
void RespPlaySongHeadL(TInt aResult);
void RespGetPlayInfoL(TDes& aArtistTitle, TDes& aAlbumTitle, TDes& aSongTitle, TInt aTotalPlayTime, TBool aResult);
void RespGetPlayTimeL(TInt aPlayTime, TInt aResult);
void RespSetVolumeL(TBool aResult);
void RespGetImageL(CFbsBitmap* aJacket, CFbsBitmap* aJacketMask, CFbsBitmap* aIcon, CFbsBitmap* aIconMask, TBool aResult);
void RespResizeImageL(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TBool aResult);
void RespGetImageNumL(TSmbMusicAPSyncEngineImageCountInSongItem& aCount, TBool aResult);
void RespServerTerminatedL();
// Add 2007.03.20
void RespConfirmedPlayL(TInt aResult);
// Add End 2007.03.20
// Add 2007.09.11
/**
* 僒乕僶巊梡尃側偟墳摎
* @param[in] aKind 張棟庬暿
*/
void RespPermissionDenied(TInt aKind);
// Add End 2007.09.11
void NotifyPlayerEventL(TSmbMusicAPSyncEnginePlayerEvent& aEvent);
void NotifySyncEventL(TSmbMusicAPSyncEngineSyncEvent& aEvent);
void NotifyContentsEvent(TSmbMusicAPSyncEngineContentsEvent& aEvent);
void NotifyOnChangeL(TUid aUid, TInt aData);
TBool NotifyBatteryLowPauseL();
void NotifyBatteryLowPlayL(TBool aPlay);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -