📄 smbmusicapsyncserverplayerfunc.h
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerPlayerFunc.h
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶嵞惗宯婡擻僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/09 |娵壀 |怴婯嶌惉
//2006/08/25 |暯壀 |MusicParamOperate偺掕媊抣傪捛壛
//2006/09/08 |娵壀 |TRK8235懳墳
//2006/09/25 |娵壀 |TRK9378懳墳
//2006/09/27 |娵壀 |TRK10202懳墳
//----PTX824----+---------------+--------------------------------------
//2007/04/03 |K3悪杮 |PTX824懳墳
//2007/07/11 |K3悪杮 | [D_82400007142]僆乕僩儗僕儏乕儉懸婡帪娫墑挿
//2007/09/04 |K3悪杮 | [D_82400013264,D_82400013431]僆乕僩儗僕儏乕儉帪偺嵞惗僼儔僌懳墳
// --[PTX825]---+---------------+--------------------------------------
// 2007/06/15 |SDNA抮怟 |PTX825丂梫審懳墳
#ifndef __SMBMUSICAPSYNCSERVERPLAYERFUNC_H__
#define __SMBMUSICAPSYNCSERVERPLAYERFUNC_H__
#ifndef __SMBMUSICAPSYNCSERVERDEF_H__
#include <SmbMusicAPSyncServerDef.h>
#endif
#ifndef __SMBMUSICMWPLAYERIF_H__
#include <SmbMusicMWPlayerIF.h>
#endif
#ifndef __SMBRSCMGRCLIENT_H__
#include <SmbRscMgrClient.h>
#endif
#ifndef DCMMMAUDIOROUTINGCLIENT_H__
#include <DcmMMAudioRoutingClient.h>
#endif
#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif
#ifndef __SMBMUSICAPSYNCSERVERMODEL_H__
#include "SmbMusicAPSyncServerModel.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERINTERNALDEF_H__
#include "SmbMusicAPSyncServerInternalDef.h"
#endif
// ADD-S PTX824 k3-sugimoto
#ifndef __SMBMUSICAPLIB_H__
#include "SmbMusicAPLib.h"
#endif // __SMBMUSICAPLIB_H__
// ADD-E PTX824 k3-sugimoto
DCM_NAMESPACE_BEGIN
class RLog;
//class CMMAudioRoutingClient;
DCM_NAMESPACE_END
SEMCJ_NAMESPACE_BEGIN
//Music僾儗僀儎乕偑巊梡偡傞儕僜乕僗偺屄悢
const TInt KMusicPlayerRscMaxNumber = 2;
//@@TRK8235懳墳 Add Start
//Music僾儗僀儎乕偑徣揹椡偵棊偪傞傑偱偺帪娫乮100ms扨埵乯
const TInt KMusicPlayerSleepTimer = 600;
//Music僾儗僀儎乕偺Mute夝彍傑偱偺帪娫乮100ms扨埵乯
const TInt KMusicPlayerMuteTimer = 2;
//@@TRK8235懳墳 Add End
// ADD-S PTX824 k3-sugimoto
// BG儕僜乕僗庢摼奐巒傑偱偺懸偪帪娫(100ms扨埵)
// MODIFY-S [D_82400007142]僆乕僩儗僕儏乕儉懸婡帪娫墑挿
const TInt KMusicPlayerRscDelayTimer = 7;
// MODIFY-E [D_82400007142]僆乕僩儗僕儏乕儉懸婡帪娫墑挿
// ADD-E PTX824 k3-sugimoto
//@@TRK10202懳墳 Add Start
const TInt KSmbMusicAPSyncServerKeySoundWait = 100 * 1000;
//@@TRK10202懳墳 Add End
//class CSmbRscMgrRscClient;
class MSmbMusicAPSyncServerPlayerAsyncObserver;
class CSmbMusicAPSyncServerPlayerResume;
class CSmbMusicAPSyncServerPlayerReceiveRscMgrRes;
class CSmbMusicAPSyncServerPlayerReceiveMWNotify;
class CSmbMusicAPSyncServerPlayerReceiveMWRes;
//class TSmbRscMgrRscAllocId;
//class TSmbRscMgrRscPriority;
class CSmbMusicAPSyncServerPlayerTimer;
/**
* Music嵞惗偱巊梡偡傞儕僜乕僗掕媊
*/
enum TSmbMusicAPSyncServerPlayerRsc
{
ESmbMusicAPSyncServerPlayerNone = 0x00, ///<儕僜乕僗側偟
ESmbMusicAPSyncServerPlayerMWRsc = 0x01, ///<MW儕僜乕僗
ESmbMusicAPSyncServerPlayerBGRsc = 0x02, ///<BG儕僜乕僗
ESmbMusicAPSyncServerPlayerAllRsc = 0x03 ///<慡偰偺儕僜乕僗
};
/**
* Func僋儔僗傊偺憖嶌
*/
enum TSmbMusicAPSyncServerPlayerMusicParamOperate
{
ESmbMusicAPSyncServerPlayerSetFromLocal, ///<儊儞僶曄悢偺抣傪巊梡偡傞
ESmbMusicAPSyncServerPlayerSetFromMsg, ///<梫媮儊僢僙乕僕偺撪梕傪巊梡偡傞乮儊儞僶曄悢偵傕曐懚偡傞乯
ESmbMusicAPSyncServerPlayerStackLocalFromMsg, ///<梫媮儊僢僙乕僕偺撪梕傪儊儞僶曄悢偵曐懚偡傞
ESmbMusicAPSyncServerPlayerStackLocalFromPlayer,///<僾儗僀儎乕偺撪梕傪儘乕僇儖偵曐懚偡傞
ESmbMusicAPSyncServerPlayerStackMsgFromPlayer, ///<僾儗僀儎乕偺撪梕傪儊僢僙乕僕偵曐懚偡傞乮儘乕僇儖偵傕曐懚偡傞乯
ESmbMusicAPSyncServerPlayerNotResumeStackLocalFromPlayer ///<僾儗僀儎乕偺撪梕傪儘乕僇儖偵曐懚偡傞乮Resume峏怴偼偟側偄乯
};
/**
尰嵼嵞惗拞偺嬋忣曬傪曐帩偡傞峔憿懱
*/
struct TSmbMusicAPSyncServerPlayerPlaySongInfo
{
TSmbMusicMWPlayerSongInfo iIterator; ///<Iterator僴儞僪儖
TInt iIndex; ///<儕僗僩拞偺Index
TInt iListHandle; ///<儕僗僩僴儞僪儖
};
/**
僀儀儞僩攝怣僉儏乕偺婎杮峔憿懱
*/
struct TSmbMusicAPSyncServerPlayerEventRequestSession
{
CSession2* iConnectSession; ///<僙僢僔儑儞
RArray<TSmbMusicAPSyncEnginePlayerEvent> iEvent; ///<僉儏乕僀儞僌偝傟偰偄傞僀儀儞僩
};
#ifdef __SMBMUSICAP_DESABLE_SUPERDUKE__
/**
* 儕僜乕僗ID
*/
enum TSmbMusicAPSyncServerPlayerRscType
{
ESmbMusicAPSyncServerRscUnKnown = 0, /**< 晄柧側儕僜乕僗ID */
ESmbMusicAPSyncServerRscMusicMW, /**< MusicMW */
ESmbMusicAPSyncServerRscMusicBG_forBGApp, /**< MusicBG嵞惗尃棙(BG傾僾儕梡) */
ESmbMusicAPSyncServerRscMusicBG_Watcher, /**< MusicBG嵞惗尃棙(BG傾僾儕梡)娔帇梡 */
ESmbMusicAPSyncServerRscMultimedia, /**< Multimedia(G2) */
ESmbMusicAPSyncServerRscMultimedia_Watcher, /**< Multimedia(G2)娔帇梡 */
};
/**
* 儕僜乕僗庬暿偲妉摼僾儔僀僆儕僥傿偺僥乕僽儖
*/
struct TSmbMusicAPSyncServerPlayerRscPriorityTable
{
TSmbMusicAPSyncServerPlayerRscType iRscType; /**< 儕僜乕僗庬暿 */
TSmbRscMgrRsc iRscId; /**< 儕僜乕僗ID */
TUint iPriority; /**< 妉摼僾儔僀僆儕僥傿 */
TBool iWatcheFlg; /**< 娔帇梡儕僜乕僗僼儔僌乽ETru:娔帇梡丄EFalse丗旕娔帇梡*/
};
#endif
//僼僃乕僪僀儞帪娫
const TInt KSmbMusicAPSyncServerPlayerFadeInTime = 0;
//儕僗僩偺愭摢嬋偺Index
const TInt KSmbMusicAPSyncServerPlayerStartIndex = 1;
/**
* Music傾僾儕PlayerFunc僋儔僗
*
*
*/
class CSmbMusicAPSyncServerPlayerFunc : public CBase
{
public:
/**
僐儞僗僩儔僋僞
* @param [in] aLog 儘僌僒乕僶僙僢僔儑儞偺嶲徠
* @param [in] aModel 摨婜僒乕僶儌僨儖僋儔僗
* @return
*/
CSmbMusicAPSyncServerPlayerFunc(DCM_NAMESPACE::RLog& aLog, CSmbMusicAPSyncServerModel& aModel);
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
~CSmbMusicAPSyncServerPlayerFunc();
/**
2僼僃乕僘僐儞僗僩儔僋僞
* @param [in] aAsyncObserver 旕摨婜僐儅儞僪僆僽僓乕僶
* @return 側偟
*/
void ConstructL(MSmbMusicAPSyncServerPlayerAsyncObserver& aAsyncObserver);
/**
傾僾儕廔椆
* @param [in] aMsg 儊僢僙乕僕
* @return 側偟
*/
void AppEnd(RMessage2& aMsg);
/**
僐儞僥僉僗僩愝掕傪拞巭偡傞
* @param 側偟
* @return 側偟
*/
void CancelContext();
/**
儕僜乕僗庢摼傪拞巭偡傞
* @param [in] aRsc 庢摼傪拞巭偡傞儕僜乕僗
* @return 側偟
*/
void CancelGetRsc(TSmbMusicAPSyncServerPlayerRsc aRsc);
/**
慡偰偺儕僜乕僗庢摼傪拞巭偍傛傃夝曻偡傞
* @param [in] aHasMWRsc MW儕僜乕僗偺庢摼忬嫷(ETrue:庢摼嵪傒乛EFalse:枹庢摼)
* @return 側偟
*/
void CancelAndReleaseAllRsc(TBool aHasMWRsc);
/**
徣揹椡梡偺僞僀儅傪掆巭偝偣傞
* @param 側偟
* @return 側偟
*/
void CancelPowerSaveTimer();
/**
慡嬋僔儍僢僼儖愝掕傪僋儕傾偡傞
* @param 側偟
* @return 側偟
*/
void ClearAllShuffle();
/**
僐儞僥僉僗僩愝掕傪僋儕傾偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt ClearContext();
/**
儗僕儏乕儉忣曬傪攋婞偡傞
* @param 側偟
* @return 側偟
*/
void ClearResume();
/**
僾儗僀儎乕惂屼MW偲僙僢僔儑儞傪愙懕偟偰僀儀儞僩捠抦梫媮傪敪峴偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt ConnectPlayer();
/**
僙僢僔儑儞愗抐捠抦
* @param [in/out/in,out] aSession 僙僢僔儑儞
* @return 張棟寢壥
*/
TBool DisConnect(CSession2& aSession);
/**
慡偰偺愝掕抣偺庢摼
* @param [in] aOperate 憖嶌撪梕
* @return 張棟寢壥
*/
TInt GetMusicParam(TSmbMusicAPSyncServerPlayerMusicParamOperate aOperate);
/**
嵞惗宱夁帪娫傪庢摼偡傞
* @param [in] aOperate 憖嶌撪梕
* @return 張棟寢壥
*/
TInt GetPlayTime(TSmbMusicAPSyncServerPlayerMusicParamOperate aOperate);
/**
儕僜乕僗傪庢摼偡傞
* @param [in] aRsc 庢摼偡傞儕僜乕僗
* @return 側偟
*/
void GetResourceL(TSmbMusicAPSyncServerPlayerRsc aRsc);
/**
儗僕儏乕儉忣曬傪峏怴偡傞
* @param [in] aOperate 憖嶌撪梕
* @return 側偟
*/
void GetResume(TSmbMusicAPSyncServerPlayerMusicParamOperate aOperate);
/**
壒埑儗儀儖偺庢摼
* @param 側偟
* @return 張棟寢壥
*/
TInt GetSound();
/**
専嶕梡偺嵞惗夞悢傪峏怴偡傞
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aIndex index
* @return 側偟
*/
void IncrementPlayTimes(TInt aListHandle, TInt aIndex);
/**
堦帪掆巭忬懺偵偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt Pause();
/**
嵞惗帪娫偑0昩偺応崌偵専嶕梡偺嵞惗夞悢傪峏怴偡傞
* @param 側偟
* @return 側偟
*/
void IncrementPlayTimesIfNecessary();
/**
嵞惗傪奐巒偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt Play();
/**
憗憲傝嵞惗傪奐巒偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt PlayFF();
/**
憗栠偟嵞惗傪奐巒偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt PlayFR();
/**
憗憲傝傪夝彍偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt PlayFromFF();
/**
憗栠偟傪夝彍偡傞
* @param 側偟
* @return 張棟寢壥
*/
TInt PlayFromFR();
/**
摢偩偟傪峴偆
* @param 側偟
* @return 張棟寢壥
*/
TInt SetSongHead();
/**
嬋栠偟傪峴偆
* @param 側偟
* @return 張棟寢壥
*/
TInt PrevSong();
/**
嬋憲傝傪峴偆
* @param 側偟
* @return 張棟寢壥
*/
TInt NextSong();
/**
徣揹椡忬懺傪曄峏偡傞
* @param [in] aSave 徣揹椡忬懺
* @return 側偟
*/
TInt PwrSave(TBool aSave);
/**
儕僜乕僗夝曻偡傞
* @param [in] aRsc 夝曻偡傞儕僜乕僗
* @param [in] aSetNotify 儕僜乕僗妉摼娔帇僼儔僌(僨僼僅儖僩:EFalse=娔帇偟側偄)
* @return 側偟
*/
// MODIFY-S PTX824 k3-sugimoto
void ReleaseRsc(TSmbMusicAPSyncServerPlayerRsc aRsc, TBool aSetNotify = EFalse);
// MODIFY-E PTX824 k3-sugimoto
/**
僾儗僀儎乕惂屼MW偵僀儀儞僩捠抦梫媮偡傞
* @param 側偟
* @return 側偟
*/
void RequestEventNotify();
/**
僀儀儞僩捠抦僉儍儞僙儖梫媮
* @param 側偟
* @return 張棟寢壥
*/
void CancelEventNotify(RMessage2& aMsg);
/**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -