📄 smbmusicapsyncserverplayerstatewaitbgrsc.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerPlayerStateWaitBGRsc.cpp
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/09 |娵壀 |怴婯嶌惉
//2006/08/15 |娵壀 |TRK6286懳墳
//2006/08/29 |暯壀 |TRK7701,7702懳墳
//2006/09/23 |暯壀 |TRK9894懳墳
//2006/09/26 |暯壀 |TRK10253懳墳
//----PTX824----+---------------+--------------------------------------
//2007/04/05 |K3悪杮 |PTX824懳墳
//2007/06/08 |K3悪杮 |PTX825懳墳(Mute愝掕)
//2007/06/14 |K3悪杮 |PTX825懳墳(壒検愝掕)
//2007/09/05 |K3悪杮 |[D_82400013264,D_82400013431]僆乕僩儗僕儏乕儉帪偺嵞惗僼儔僌懳墳
//2007/09/19 |K3悪杮 |[D_82400015425]夞悢惂尷嬋偺嬋栠偟偺懳墳
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITBGRSC_H__
#include "SmbMusicAPSyncServerPlayerStateWaitBGRsc.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif // __SMBMUSICAPSYNCSERVERUTIL_H__
USING_NAMESPACE_SEMCJ
/**
僐儞僗僩儔僋僞
* @param [in] aFunc PlayerFunc僋儔僗偺嶲徠
* @param [in] aLog 儘僌僒乕僶僙僢僔儑儞偺嶲徠
* @return 側偟
*/
CSmbMusicAPSyncServerPlayerStateWaitBGRsc::CSmbMusicAPSyncServerPlayerStateWaitBGRsc(CSmbMusicAPSyncServerPlayerFunc& aFunc, DCM_NAMESPACE::RLog& aLog)
: CSmbMusicAPSyncServerPlayerStateBase(aFunc, aLog)
{
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPSyncServerPlayerStateWaitBGRsc::~CSmbMusicAPSyncServerPlayerStateWaitBGRsc()
{
}
/**
儕僜乕僗庢摼OK墳摎
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
*/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateWaitBGRsc::GetRscOKRes(TSmbMusicAPSyncServerPlayerState aState)
{
//壒惡僷僗偺庢摼慜偵峴偆
iFunc.PwrSave(EFalse);
TRAPD(err, iFunc.SetAudioRoutingL());
if (KErrNone != err)
{
//儘僌弌椡
TInt log = EMusicAPSyncServerClassNumber61 | EMusicAPSyncServerLocationNumber00;
_LIT(KServerPlayerStateWaitBGRsc00, "SyncServerPlayerStateWaitBGRsc::GetRscOKRes Leave SetAudioRoutingL() [%d] [state=%d]");
SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateWaitBGRsc00, err, aState);
//BG儕僜乕僗夝曻
iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerBGRsc);
//僋儔僀傾儞僩偵墳摎傪曉偡
iFunc.SendRes(KErrNotReady);
//TRK10253懳墳丂Add-S
//徣揹椡僞僀儅乕奐巒
iFunc.StartPowerSaveTimer();
//TRK10253懳墳丂Add-E
//傾僀僪儖忬懺傊栠偡
return ESmbMusicAPSyncServerPlayerIdle;
}
// ADD-S PTX825懳墳(Mute愝掕)
iFunc.CheckLineOut();
// ADD-E PTX825懳墳(Mute愝掕)
// ADD-S PTX825懳墳(壒検愝掕)
TInt res(KErrNone);
res = iFunc.SetVolume(ESmbMusicAPSyncServerPlayerSetFromLocal);
if (res != KErrNone)
{
// 儘僌
}
// ADD-E PTX825懳墳(壒検愝掕)
//TRK6286懳墳 Start
//@@maruoka 嵞惗夞悢偺峏怴偼嵞惗廔椆帪偺傒峴偆
//専嶕梡偺嵞惗夞悢傪峏怴偡傞
// iFunc.IncrementPlayTimesIfNecessary();
//TRK6286懳墳 End
// MODIFY-S PTX824 k3-sugimoto
// TInt res = iFunc.Play();
TSmbMusicAPSyncServerPlayerState retState(aState);
switch(aState)
{
case ESmbMusicApSyncServerPlayerWaitBGRsc: //BG儕僜乕僗懸偪
// 嵞惗奐巒梫媮
res = iFunc.Play();
// 嵞惗奐巒懸偪忬懺
retState = ESmbMusicApSyncServerPlayerWaitStartPlay;
break;
case ESmbMusicApSyncServerPlayerWaitBGRscwithConfirm: //BG儕僜乕僗懸偪(妋擣暅婣)
res = iFunc.ConfirmPlay();
// 嵞惗奐巒懸偪忬懺
retState = ESmbMusicApSyncServerPlayerWaitStartPlay;
break;
case ESmbMusicApSyncServerPlayerWaitBGRscwithChgSong: //BG儕僜乕僗懸偪(嬋憲傝)
if (iFunc.Function() == ESmbMusicAPSyncServerFuncRequestNextSong)
{ // 嬋憲傝梫媮偺応崌
res = iFunc.NextSong();
if (res == KErrNotFound)
{ // 嵟廔嬋偺嬋憲傝偵幐攕偟偨応崌
// 嵞惗掆巭梫媮
iFunc.Pause();
// 儕僗僩嵞惗姰椆捠抦偺嫟捠憖嶌
ComFinishPlayListNtfy();
// 僋儔僀傾儞僩偵墳摎傪曉偡
iFunc.SendRes(res);
//傾僀僪儖忬懺傊
return ESmbMusicAPSyncServerPlayerIdle;
}
// 嵞惗傊偺暅婣懸偪忬懺
retState = ESmbMusicApSyncServerPlayerWaitPlay;
}
else if (iFunc.Function() == ESmbMusicAPSyncServerFuncRequestPrevSong)
{ // 嬋栠偟梫媮偺応崌
res = iFunc.PrevSong();
// 嵞惗傊偺暅婣懸偪忬懺
retState = ESmbMusicApSyncServerPlayerWaitPlay;
}
else
{
// 儘僌
res = KErrNotSupported;
}
break;
default:
// 儘僌
res = KErrNotSupported;
break;
}
// MODIFY-E PTX824 k3-sugimoto
if(KErrNone != res)
{
//儘僌偼弌偟偲偒傑偟傚偆
TInt log = EMusicAPSyncServerClassNumber61 | EMusicAPSyncServerLocationNumber01;
_LIT(KServerPlayerStateWaitBGRsc01, "SyncServerPlayerStateWaitBGRsc::GetRscOKRes SetPlayerNG [%d] [state=%d]");
SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateWaitBGRsc01, res, aState);
// ADD-S PTX824 k3-sugimoto
if ((aState == ESmbMusicApSyncServerPlayerWaitBGRscwithConfirm) || //BG儕僜乕僗懸偪(妋擣暅婣)
(aState == ESmbMusicApSyncServerPlayerWaitBGRscwithChgSong)) //BG儕僜乕僗懸偪(嬋憲傝)
{ // 儐乕僓妋擣忬懺偺応崌
// 嵞惗掆巭梫媮傪峴偆
iFunc.Pause();
// ADD-S [D_82400015425]夞悢惂尷嬋偺嬋栠偟偺懳墳
// 嵞惗掆巭捠抦
iFunc.SendNotify(ESmbMusicAPSyncEngineStopPlay);
// ADD-E [D_82400015425]夞悢惂尷嬋偺嬋栠偟偺懳墳
}
// ADD-E PTX824 k3-sugimoto
//BG儕僜乕僗夝曻
iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerBGRsc);
//僋儔僀傾儞僩偵墳摎傪曉偡
iFunc.SendRes(res);
//TRK10253懳墳丂Add-S
//徣揹椡僞僀儅乕奐巒
iFunc.StartPowerSaveTimer();
//TRK10253懳墳丂Add-E
//傾僀僪儖忬懺傊栠偡
return ESmbMusicAPSyncServerPlayerIdle;
}
return retState;
}
/**
堦帪掆巭梫媮
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
*/
// MODIFY-S PTX824 k3-sugimoto
//TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateWaitBGRsc::Pause(TSmbMusicAPSyncServerPlayerState /* aState */)
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateWaitBGRsc::Pause(TSmbMusicAPSyncServerPlayerState aState)
// MODIFY-E PTX824 k3-sugimoto
{
// MODIFY-S PTX824 k3-sugimoto
// //嵞惗梫媮偵懳偡傞墳摎傪曉偡
// iFunc.SendRes(KErrCancel);
//
// //儊僢僙乕僕傪搉偡
// iFunc.StackRequestMsg(iMsg);
//
// //BG儕僜乕僗傪僉儍儞僙儖偡傞
// iFunc.CancelGetRsc(ESmbMusicAPSyncServerPlayerBGRsc);
//
// //僋儔僀傾儞僩偵墳摎傪曉偡
// iFunc.SendRes(KErrNone);
//
// //傾僀僪儖(堦帪掆巭)忬懺
// return ESmbMusicAPSyncServerPlayerIdle;
TSmbMusicAPSyncServerPlayerState retState(aState);
switch(aState)
{
case ESmbMusicApSyncServerPlayerWaitBGRsc: //BG儕僜乕僗懸偪
//嵞惗梫媮偵懳偡傞墳摎傪曉偡
iFunc.SendRes(KErrCancel);
//儊僢僙乕僕傪搉偡
iFunc.StackRequestMsg(iMsg);
//BG儕僜乕僗傪僉儍儞僙儖偡傞
iFunc.CancelGetRsc(ESmbMusicAPSyncServerPlayerBGRsc);
//僋儔僀傾儞僩偵墳摎傪曉偡
iFunc.SendRes(KErrNone);
//傾僀僪儖(堦帪掆巭)忬懺
retState = ESmbMusicAPSyncServerPlayerIdle;
break;
case ESmbMusicApSyncServerPlayerWaitBGRscwithConfirm: //BG儕僜乕僗懸偪(妋擣暅婣)
case ESmbMusicApSyncServerPlayerWaitBGRscwithChgSong: //BG儕僜乕僗懸偪(嬋憲傝)
{
//嵞惗梫媮偵懳偡傞墳摎傪曉偡
iFunc.SendRes(KErrCancel);
//儊僢僙乕僕傪搉偡
iFunc.StackRequestMsg(iMsg);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -