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

📄 smbmusicapsyncserverplayerstateplayfffr.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerPlayerStatePlayFFFR.cpp
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/09	|娵壀			|怴婯嶌惉
//2006/08/18	|娵壀			|TRK6286懳墳
//2006/08/24	|暯壀			|TRK7415懳墳
//2006/11/01	|暯壀			|TRK12310懳墳
//----PTX824----+---------------+--------------------------------------
//2007/04/04	|K3悪杮			|PTX824懳墳


#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEPLAYFFFR_H__
#include "SmbMusicAPSyncServerPlayerStatePlayFFFR.h"
#endif

#ifndef	__SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif	//  __SMBMUSICAPSYNCSERVERUTIL_H__

USING_NAMESPACE_SEMCJ

/**
 僐儞僗僩儔僋僞
 * @param [in]	aFunc		PlayerFunc僋儔僗偺嶲徠
 * @param [in]	aLog		儘僌僒乕僶僙僢僔儑儞偺嶲徠
 * @return	側偟
 */
CSmbMusicAPSyncServerPlayerStatePlayFFFR::CSmbMusicAPSyncServerPlayerStatePlayFFFR(CSmbMusicAPSyncServerPlayerFunc& aFunc, DCM_NAMESPACE::RLog& aLog)
	: CSmbMusicAPSyncServerPlayerStateBase(aFunc, aLog)
	{
	}

/**
 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
CSmbMusicAPSyncServerPlayerStatePlayFFFR::~CSmbMusicAPSyncServerPlayerStatePlayFFFR()
	{
	}

/**
 FF偱嬋廔抂専弌僀儀儞僩
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStatePlayFFFR::SongTailNtfy(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state = aState;

	//憗憲傝嵞惗拞偺応崌
	if (ESmbMusicApSyncServerPlayerPlayFF == aState)
		{
//  DEL-S PTX824 k3-sugimoto
//TRK6286懳墳	Start
//		//専嶕梡偺嵞惗夞悢傪峏怴偡傞乮懳徾嬋偺嵞惗偑姰椆偟偨応崌偺傒乯
//		iFunc.IncrementPlayTimesIfNecessary();
//TRK6286懳墳	End
//  DEL-E PTX824 k3-sugimoto

//  ADD-S PTX824 k3-sugimoto
		//  棙梡棜楌峏怴僇僂儞僞儕僙僢僩(Callback桳)
		iFunc.ReportCounterReset(CSmbMusicAPLibReportCounter::EStart);
//  ADD-E PTX824 k3-sugimoto

		//BG儕僜乕僗偺夝曻
		iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerBGRsc);

		//FF偱嬋偺廔抂傑偱払偟偨
		iFunc.SendNotify(ESmbMusicAPSyncEngineFFToSongEnd);

		//傾僀僪儖(堦帪掆巭)忬懺
		state = ESmbMusicAPSyncServerPlayerIdle;
		}
	else
		{
		//儀乕僗僋儔僗偺娭悢傪屇傇
		state = CSmbMusicAPSyncServerPlayerStateBase::SongTailNtfy(aState);
		}

	return state;
	}

/**
 憗憲傝夝彍梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStatePlayFFFR::PlayFromFF(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state = aState;

	//憗憲傝嵞惗拞偺応崌
	if (ESmbMusicApSyncServerPlayerPlayFF == aState)
		{
		//儊僢僙乕僕傪搉偡
		iFunc.StackRequestMsg(iMsg);

		//憗憲傝夝彍梫媮
		TInt val = iFunc.PlayFromFF();

		//PlayFromFF()偺栠傝抣偑僄儔乕偺応崌丄僋儔僀傾儞僩偵墳摎傪曉偟偰忬懺傪尦偵栠偡
		if (KErrNone != val)
			{
			//儘僌偼弌偟偲偒傑偟傚偆
			TInt log = EMusicAPSyncServerClassNumber5D | EMusicAPSyncServerLocationNumber00;
			_LIT(KServerPlayerState, "SyncServerPlayerStatePlayFFFR::PlayFromFF PlayFromFF Error [val=%d] [aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerState, val, aState);

			iFunc.SendRes(val);

			//忬懺曄峏側偟
			state = aState;
			}
		else
			{
//  ADD-S PTX824 k3-sugimoto
			val = iFunc.ReportCounterPause(CSmbMusicAPLibReportCounter::EPosition);
			if (val != KErrNone)
				{
				//  偲傝偁偊偢儘僌偩偗
				}
//  ADD-E PTX824 k3-sugimoto

			//嵞惗傊偺暅婣懸偪
			state = ESmbMusicApSyncServerPlayerWaitPlayFromFFFR;
			}
		}
	else
		{
		//儘僌偼弌偟偲偒傑偟傚偆
		TInt log = EMusicAPSyncServerClassNumber5D | EMusicAPSyncServerLocationNumber05;
		_LIT(KServerPlayerState05, "SyncServerPlayerStatePlayFFFR::PlayFromFF [aState=%d]");
		SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerState05, aState);

		//儀乕僗僋儔僗偺娭悢傪屇傇
		state = CSmbMusicAPSyncServerPlayerStateBase::PlayFromFF(aState);
		}

	return state;
	}

/**
 FR偱嬋愭摢専弌僀儀儞僩
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStatePlayFFFR::SongHeadNtfy(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state = aState;

	//憗栠偟嵞惗拞偺応崌
	if (ESmbMusicApSyncServerPlayerPlayFR == aState)
		{
//  ADD-S PTX824 k3-sugimoto
		//  棙梡棜楌峏怴僇僂儞僞儕僙僢僩(宲懕)
		iFunc.ReportCounterReset(CSmbMusicAPLibReportCounter::EContinue);
//  ADD-E PTX824 k3-sugimoto

		//BG儕僜乕僗偺夝曻
		iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerBGRsc);

		//FW偱嬋偺愭摢偵払偟偨
		iFunc.SendNotify(ESmbMusicAPSyncEngineFRToSongHead);

		//傾僀僪儖(堦帪掆巭)忬懺
		state = ESmbMusicAPSyncServerPlayerIdle;
		}
	else
		{
		//儀乕僗僋儔僗偺娭悢傪屇傇
		state = CSmbMusicAPSyncServerPlayerStateBase::SongHeadNtfy(aState);
		}

	return state;
	}

/**
 憗栠偟夝彍梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStatePlayFFFR::PlayFromFR(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state = aState;

	//憗栠偟嵞惗拞偺応崌
	if (ESmbMusicApSyncServerPlayerPlayFR == aState)
		{
		//儊僢僙乕僕傪搉偡
		iFunc.StackRequestMsg(iMsg);

		//憗栠偟夝彍梫媮
		TInt val = iFunc.PlayFromFR();

		//PlayFromFR()偺栠傝抣偑僄儔乕偺応崌丄僋儔僀傾儞僩偵墳摎傪曉偟偰忬懺傪尦偵栠偡
		if (KErrNone != val)
			{
			//儘僌偼弌偟偲偒傑偟傚偆
			TInt log = EMusicAPSyncServerClassNumber5D | EMusicAPSyncServerLocationNumber01;
			_LIT(KServerPlayerState, "SyncServerPlayerStatePlayFFFR::PlayFromFR PlayFromFR Error [val=%d] [aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerState, val, aState);

			iFunc.SendRes(val);

			//忬懺曄峏側偟
			state = aState;
			}
		else
			{
//  ADD-S PTX824 k3-sugimoto
			val = iFunc.ReportCounterPause(CSmbMusicAPLibReportCounter::EPosition);
			if (val != KErrNone)
				{
				//  偲傝偁偊偢儘僌偩偗
				}
//  ADD-E PTX824 k3-sugimoto

			//嵞惗傊偺暅婣懸偪
			state = ESmbMusicApSyncServerPlayerWaitPlayFromFFFR;
			}
		}
	else
		{
		//儘僌偼弌偟偲偒傑偟傚偆
		TInt log = EMusicAPSyncServerClassNumber5D | EMusicAPSyncServerLocationNumber04;
		_LIT(KServerPlayerState04, "SyncServerPlayerStatePlayFFFR::PlayFromFR [aState=%d]");
		SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerState04, aState);

		//儀乕僗僋儔僗偺娭悢傪屇傇
		state = CSmbMusicAPSyncServerPlayerStateBase::PlayFromFR(aState);
		}

	return state;
	}

/**
 嵞惗晄壜僼傽僀儖専弌僀儀儞僩
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStatePlayFFFR::ErrSongNtfy(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
//  ADD-S PTX824 k3-sugimoto
	//  棙梡棜楌峏怴僇僂儞僞儕僙僢僩(Callback桳)
	iFunc.ReportCounterReset(CSmbMusicAPLibReportCounter::EStart);
//  ADD-E PTX824 k3-sugimoto

	//嵞惗晄壜傪専弌(僼傽僀儖偺堎忢偵傛傝嵞惗晄壜偱偁傞)
	iFunc.SendNotify(ESmbMusicAPSyncEnginePlayFail);

	//嵞惗晄壜僼傽僀儖専弌忬懺
	return ESmbMusicApSyncServerPlayerErrSong;
	}

/**
 堦帪掆巭梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStatePlayFFFR::Pause(TSmbMusicAPSyncServerPlayerState aState)
	{
	TInt res = KErrNone;

	//堦帪掆巭傪幚峴偡傞慜偵嵞惗忬懺偵慗堏偝偣傞昁梫偑偁傞
	switch(aState)
		{
		//憗憲傝嵞惗拞
		case ESmbMusicApSyncServerPlayerPlayFF:
			//憗憲傝夝彍
			res = iFunc.PlayFromFF();
			if(KErrNone != res)
				{
				//儘僌偼弌偟偲偒傑偟傚偆
				TInt log = EMusicAPSyncServerClassNumber5D | EMusicAPSyncServerLocationNumber06;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -