⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapsyncserverplayerstatewaitbgrsc.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* 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 + -