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

📄 smbmusicapmainplayerstateinitial.cpp

📁 symbian
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//
//	if (ESmbMusicAPMainPlayerPlayProcDelete == iView->iProc)
//		{
//		// 1審嶍彍姰椆屻偺嵞惗弨旛偺応崌偼丄僒僽僾儗僀儎乕偺Hold傪夝彍偡傞丅
//		iPlayerEnv.BasisPartFuncInterface().CancelHoldAppEx();
//		}
//
//	if (EFalse != iView->iReqPreparePlay)
//		{
//		// 僼傿儖僞價儏乕偐傜偺嵞惗弨旛張棟忬懺
//		PreparePlayFromFilterViewL(aResult);
//		
//		return;
//		}
//
//	if (EFalse != iView->iExtMemory)
//		{
//		// 奜晹儊儌儕乕憓敳偑偁偭偨
//		iPlayerEnv.SetMannerModePlayingStateL(EFalse);	// 2006.10.25
//		
//		return;
//		}
//
//	if (iView->IsCaseClosedL() != EFalse && ESmbMusicAPMainPlayerPlayProcDelete != iView->iProc)
//		{
//		_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::RespPreparePlayL CaseClosed iProc=%d");
//		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 201012, ELogLevelNormal, KLogFmt, iView->iProc);
//		
//		// 働乕僗僋儘乕僘偝傟偨応崌(扐偟丄1審嶍彍張棟拞偼徣偔)
//		CaseClosedInPlayPrepareL();
//		
//		return;
//		}
//
//	if (KErrNone != aResult)
//		{
//		// 堎忢廔椆偺応崌
//		_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::RespPreparePlayL error %d");
//		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 200012, ELogLevelNormal, KLogFmt, aResult);
//		
//		RespPlayPrepareErrorL();
//		
//		return;
//		}
//
//	if (ESmbMusicAPMainPlayerPlayProcStartPlay == iView->iProc &&		// 嵞惗奐巒張棟
//	    EFalse == iView->iPlayComplete									// 儕僗僩嵞惗姰椆帪偱偼側偄
//	   )
//		{
//		// 抂枛奐忬懺偺応崌丄夋柺曄峏捠抦
//		TInt ret = iView->iCmd->UpdateDisplayInfo(ESmbMusicAPPlayerChangePlayViewEvent, iView->iPlayList, iView->iReqPlayList.iShuffle);
//		if (KErrNone != ret)
//			{
//			_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::UpdateDisplayInfo err=%d");
//			SmbMusicAPMainPlayerUtility::OutputLog(iLog, 201007, ELogLevelHigh, KLogFmt, ret);
//			
//			User::Leave(ret);
//			}
//		}
//
//	if (EFalse != iView->iLowBattery)
//		{
//		// 傾僾儕掅揹埑敪惗傪捠抦偝傟偰偄傞応崌
//		iView->iDrawer->DrawStopPictureL(ETrue);
//		iView->iProc = ESmbMusicAPMainPlayerPlayProcNone;
//		iView->iLowBattery = EFalse;
//		
//		return;
//		}
//
//	if (ESmbMusicAPMainPlayerPlayProcDelete == iView->iProc)
//		{
//		//1審嶍彍姰椆屻偺応崌丄夋柺曄峏捠抦
//		TInt ret = iView->iCmd->UpdateDisplayInfo(ESmbMusicAPPlayerPlayViewChangeSongIndexEvent, iView->iPlayList, iView->iReqPlayList.iShuffle);
//		if (KErrNone != ret)
//			{
//			_LIT(KLogFmt1, "CSmbMusicAPMainPlayerPlayView::RespPreparePlayL UpdateDisplayInfo err=%d");
//			SmbMusicAPMainPlayerUtility::OutputLog(iLog, 201012, ELogLevelHigh, KLogFmt1, ret);
//			
//			User::Leave(ret);
//			}
//		// 僼傽僀儖嶍彍張棟忬懺偺応崌丄愭摢嬋偺嬋忣曬傪庢摼偡傞丅
//		// 夋憸枃悢傪庢摼
//		iView->iCmd->GetImageNumber(iView->iPlayList);
//		
//		return;
//		}
//	
//	if (ESmbMusicAPMainPlayerPlayProcStartPlay == iView->iProc)
//		{
//		// 嵞惗奐巒張棟忬懺偺応崌偼丄嵞惗奐巒梫媮傪敪峴偡傞丅
//		if (EFalse == iView->iCmd->PlayStart(iPlayerEnv.MannerModePlayingState()))
//			{
//			// 堎忢廔椆偺応崌丄枹張棟忬懺偵偡傞丅
//			iView->iProc = ESmbMusicAPMainPlayerPlayProcNone;
//			}
//		}
//	else if (ESmbMusicAPMainPlayerPlayProcListEnd == iView->iProc)
//		{
//		// 儕僗僩嵞惗姰椆張棟忬懺偺応崌丄愭摢嬋偺嬋忣曬傪庢摼偡傞丅
//		iView->iPlayList.iIndex = 0;
//		
//		// 夋憸枃悢傪庢摼
//		iView->iCmd->GetImageNumber(iView->iPlayList);
//		}
//	}




//==============================================================================================
//
//  嵞惗宯僀儀儞僩張棟娭楢儊僜僢僪
//
//
//==============================================================================================
/**
 * 嵞惗奐巒捠抦張棟\n
 *   捠抦偝傟偨嵞惗奐巒嬋偺嬋忣曬傪庢摼偟偰丄嵞惗拞夋柺傪昞帵偡傞丅
 *
 * Y: public
 *
 */
void CSmbMusicAPMainPlayerStateInitial::NotifyStartPlayL()
	{
	delete iView->iPeriodicTime;
	iView->iPeriodicTime = NULL;

// (ADD-START 2007/08/31 SEMC 媑壀)
// 嬋帪娫僇僂儞僩僞僀儅傪嵞昤夋偡傞僼儔僌傪棫偰傞
	iView->iDrawer->SetIsSongTimerTmpStop(EFalse);
// (ADD-END)
	// 奺庬忬懺僼儔僌傪儕僙僢僩
	ResetAnyStatusFlags();

	if (EFalse != iView->iLowBattery)
		{
		// 掅揹埑偵傛傞掆巭梫媮傪庴偗晅偗偰偄傞応崌
		ProcNotifyLowBattery();
		return;
		}

	if (EFalse != iPlayerEnv.MannerModePlayingState())		// 2006.09.26
		{//儅僫乕儌乕僪偱偺嵞惗偺応崌
		
		//夋柺昞帵傪儅僫乕儌乕僪偐傜嵞惗壜偵愗傝懼偊傞
		TInt ret = iView->iCmd->UpdateDisplayInfo(ESmbMusicAPPlayerMannerModePlayEvent, iView->iPlayList, EFalse);
		if (KErrNone != ret)
			{
			_LIT(KLogFmt2, "CSmbMusicAPMainPlayerPlayView::NotifyStartPlayL UpdateDisplayInfo err=%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, 202012, ELogLevelHigh, KLogFmt2, ret);
			
			User::Leave(ret);
			}
		}

	//掆巭梫媮敪峴儁儞僨傿儞僌偺僼儔僌(僀儞僗僞儞僗曄悢)傪僋儕傾偡傞丅
	TBool pausePending = iView->iPauseWaiting;
	iView->iPauseWaiting = EFalse;
	
// 堏摦愭 2007.09.15
	// Music傾僾儕忬懺傪嵞惗拞偵偡傞丅
	SmbPGMusic::SetMusicAPPlayerStateL(iPropAgent, ESmbPGMusicAPPlayerStatePlaying);
// 堏摦愭 2007.09.15
	//忬懺傪掆巭偐傜嵞惗偵曄峏
	iView->ChangeState(ESmbMusicAPMainPlayerPlayPlaying);
	iView->iReqCancel = EFalse;

	if (EFalse != pausePending)
		{//掆巭梫媮敪峴儁儞僨傿儞僌(嵞惗奐巒拞偵乽掆巭乿偑墴偝傟偨)応崌
		
		//掆巭梫媮偺敪峴傪峴偆丅
		ProcNotifyChangePlaySongToPlayStopL();
		return;
		}
	
// 堏摦尦 2007.09.15
//	// Music傾僾儕忬懺傪嵞惗拞偵偡傞丅
//	SmbPGMusic::SetMusicAPPlayerStateL(iPropAgent, ESmbPGMusicAPPlayerStatePlaying);

	// 嵞惗奐巒捈屻1昩偺僞僀儅乕傪奐巒偡傞丅 2006.09.27
	iView->StartPlayTimerL();

// 堏摦尦 2007.09.15
//	//忬懺傪掆巭偐傜嵞惗偵曄峏
//	iView->ChangeState(ESmbMusicAPMainPlayerPlayPlaying);
//	iView->iReqCancel = EFalse;

	if (ESmbMusicAPMainPlayerPlayProcNone == iView->iProc)
		{//壗傜偐偺張棟拞偱偼側偄応崌
		
		iView->iProc = ESmbMusicAPMainPlayerPlayProcStartPlay;
		}
//弶婜忬懺偱偼摢弌偟張棟傪峴偆偙偲偼柍偄
//	else if (ESmbMusicAPMainPlayerPlayProcPlaySongHead == iView->iProc)
//		{//摢弌偟偺張棟拞偺応崌
//		
//		// 摢弌偟偱捠抦偝傟偨僀儞僨僢僋僗偑師嬋偵側偭偰偄傞応崌
//		if (iView->iPlayList.iIndex != iView->iIndex)
//			{
//			iView->iProc = ESmbMusicAPMainPlayerPlayProcNextSong;
//			NotifyChangePlaySongL();
//			return;
//			}
//		}
	
	iView->ProcCancelAction();		// TRK:10513

	iView->iPlayList.iIndex = iView->iIndex;

	//儕僗僩嵞惗廔椆偺僼儔僌傪僋儕傾
	iView->iPlayComplete = EFalse;		// 2006.08.05

	// 嵞惗奐巒帪偺昞帵傪曄峏
	if (iView->IsStartPlayOfIniitialPicture() != EFalse)
		{//夋柺偺弶婜壔偑昁梫側応崌(StartPlay,PlayResume,PlayFFEnd)偺応崌
		
		ProcClearSongInfoOfPlayPictureL();
		}
		
	//嵞惗夋柺偺昞帵
	iView->iDrawer->DrawPlayPictureNoVssL(EFalse, EFalse);
	
	#ifndef __SKIP_ASSERT__
	__ASSERT_ALWAYS((iView->iIndex >= 0 && iView->iIndex < iView->iReqPlayList.iCount), PANIC(9200001));
	#endif

// PTX824懳墳
// Change 2007.03.07
//	// 夋憸枃悢傪庢摼
//	iView->iCmd->GetImageNumber(iView->iPlayList);
	// 嵞惗嬋忣曬傪庢摼
	iView->ReqGetPlayInfoL();
// Change End 2007.03.07

	iView->iFilterView.HandleChangedPlaySong(iView->iPlayList);
	}


/**
 * 嵞惗晄壜捠抦張棟
 *   捠抦偝傟偨嵞惗晄壜忣曬偵懳墳偟偨僟僀傾儘僌傪昞帵偟偰丄憖嶌寢壥偵廬偭偰張棟傪峴偆丅
 *
 * Y: public
 *
 */
void CSmbMusicAPMainPlayerStateInitial::NotifyPlayFailL()
	{
	delete iView->iPeriodicTime;
	iView->iPeriodicTime = NULL;

	// 奺庬忬懺僼儔僌傪儕僙僢僩
	ResetAnyStatusFlags();

// PTX824懳墳
	// 婡擻僉乕柍岠  2007.03.09
	iView->ChangeFuncKeyState(EFalse);		// 2007.04.23

	iView->iPlayList.iIndex = iView->iIndex;
	iView->iFailEvent = iView->iPlayEvent;

	if (EFalse != iView->iNotifyFial2Idle)
		{
		// 傾僀僪儖忬懺傊堏峴偡傞丅乮嬻儕僗僩偑巜掕偝傟偨応崌偺張棟乯
		ProcNotifyChangePlaySongToIdleL();
		return;
		}

	if (EFalse != iView->iLowBattery)
		{
		// 掅揹埑偵傛傞掆巭梫媮傪庴偗晅偗偰偄傞応崌
		ProcNotifyLowBattery();
		return;
		}

// Add 2007.04.06 PTX824 TRK:757
	if (EFalse != iView->iStartPause)
		{
		return;
		}
// Add End 2007.04.06 PTX824 TRK:757

// Delete 2007.04.06 PTX824 TRK:755
//	iView->iNumJacket = 0;
//	iView->iNumLyric = 0;
// Delete End 2007.04.06 PTX824 TRK:755

	iView->iCmd->GetRequestKind(iView->iProckind, iView->iInfokind);

	_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::NotifyPlayFailL UnPlayable song index=%d cause=%d iStatus=%d, iProc=%d iProckind=%d iInfokind=%d");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 200017, ELogLevelNormal, KLogFmt, iView->iIndex, iView->iFailEvent.iInfo.iCause, iView->ViewStatus(), iView->iProc, iView->iProckind, iView->iInfokind);

// Change 2007.08.29
//	if (iView->IsProcStartPlayWithFailSongCheck() != EFalse &&
//	    iView->iProc == ESmbMusicAPMainPlayerPlayProcEngUse
//	    ESmbMusicAPMainPlayerPlayProcNone == iView->iInfokind		// TRK:11747
//	   )
	if ((iView->IsProcStartPlayWithFailSongCheck() != EFalse ||
	     iView->iProc == ESmbMusicAPMainPlayerPlayProcEngUse ||
	     iView->iProc == ESmbMusicAPMainPlayerPlayProcNone
	    ) &&
	    ESmbMusicAPMainPlayerPlayProcNone == iView->iInfokind		// TRK:11747
	   )
// Change End 2007.08.29
		{
		// 嵞惗晄壜嬋僠僃僢僋傪昁梫偲偡傞嵞惗奐巒張棟偺応崌
		iView->iProc = ESmbMusicAPMainPlayerPlayProcFailSong;
		iView->iCmd->PlayStop();
		}
// Add 2007.09.13 
	else if (iView->iProc == ESmbMusicAPMainPlayerPlayProcLimitCount)
		{
		// 嵞惗夞悢惂尷嬋僗僉僢僾張棟偺応崌(嵞惗晄壜嬋僗僉僢僾張棟傊堏峴)
		iView->iProc = ESmbMusicAPMainPlayerPlayProcFailSongSkip;
		iView->ChangeState(ESmbMusicAPMainPlayerPlayPlaying);		// TRK:9518  2006.09.20
		// 嵞惗嬋忣曬傪庢摼
		iView->ReqGetPlayInfoL();
		iView->iFailState = ETrue;
		}
// Add End 2007.09.13 
	}

// Add 2006.11.09  TRK:12407 (PTX824 TRK:799)
/**
 * 儕僗僩嵞惗姰椆張棟\n
 *   枹張棟忬懺偲側偭偰偄傞応崌偼丄嬻儕僗僩嵞惗偑幚峴偝傟偨応崌側偺偱丄張棟攋婞
 *
 * Y: public
 *
 */
void CSmbMusicAPMainPlayerStateInitial::NotifyCompletePlayListL()
	{
	
// Change 2007.03.28
//	iView->ProcCancelAction();
	if (ESmbMusicAPMainPlayerPlayProcLimitCount == iView->iProc)
		{
		//忬懺傪嵞惗忬懺偵曄峏
		iView->ChangeState(ESmbMusicAPMainPlayerPlayPlaying);
		iView->iState->NotifyCompletePlayListL();
		}
	else
		{
		iView->ProcCancelAction();
		}
// Change End 2007.03.28
	return;
	}
// Add ENd 2006.11.09  TRK:12407 (PTX824 TRK:799)

/**
 * 堦帪掆巭捠抦張棟
 *
 * Y: public
 *
 */
void CSmbMusicAPMainPlayerStateInitial::NotifyStopPlayL()
	{
	iView->iFailState = EFalse;

	delete iView->iPeriodic;
	iView->iPeriodic = NULL;

//	TBool startPause = iView->iStartPause;
	iView->iStartPause = EFalse;

	if (EFalse != iView->iDisplayedPopup)
		{
		// 嵞惗夞悢惂尷晅偒妋擣億僢僾傾僢僾昞帵拞偼僋儘乕僘偡傞
		iPlayerEnv.DialogManager().CloseModelessDialog(R_DL_MUSIC_MAIN_PLAY_LIMIT_COUNT);
		}

	if (ESmbMusicAPMainPlayerPlayProcStartPlay != iView->iProc)
		{//嵞惗奐巒張棟偵敽偆掆巭偱偼側偄応崌
		
		//儅僫乕儌乕僪嵞惗僼儔僌傪儕僙僢僩偡傞
		iPlayerEnv.SetMannerModePlayingStateL(EFalse);	// 2006.10.18  TRK:11757
		}

	if (EFalse != iView->iExtMemory)
		{// 奜晹儊儌儕乕憓敳偑偁偭偨応崌
		
		return;
		}

	if (iView->IsResumeCancelOnPause() != EFalse)
		{//掆巭帪偺儕僕儏乕儉攋婞僼儔僌偑僙僢僩偝傟偰偄傞偐丄嵞惗晄壜嬋張棟偐傜嬻偺儕僗僩偺嵞惗偑梫媮偝傟偨応崌
		
		// 儗僕儏乕儉忣曬傪攑婞偡傞丅
		ProcNotifyStopPlayInEmptyListL();
		return;
		}
	
	iView->iBeforeIndex = iView->iPlayList.iIndex;
	if (ESmbMusicAPMainPlayerPlayProcStartPlay != iView->iProc)
		{
		iView->iPlayList.iIndex = iView->iIndex;
		}

	if (iView->IsProcFailSong() != EFalse)
		{// 嵞惗晄壜嬋張棟忬懺偺応崌
		ProcNotifyStopPlayInFailSongL();
		return;
		}

	else if (ESmbMusicAPMainPlayerPlayProcPlayLowBattery == iView->iProc)
		{// 傾僾儕掅揹埑偵傛傞掆巭
		
		ProcNotifyStopPlayInLowBatteryL();
		}
	else
		{// 偦偺懠偺応崌
		
		ProcNotifyStopPlayInOtherL(iView->iPauseState/*pauseState*/);
		}
	iView->iPlayCancel = EFalse;		// TRK9304  2006.09.18
	
	}//end of NotifyStopPlayL()

/**
 * 堦帪掆巭張棟
 *   偦偺懠偺応崌
 * @param[in] aPauseState ETrue:掆巭憖嶌偑偝傟偨
 */
void CSmbMusicAPMainPlayerStateInitial::ProcNotifyStopPlayInOtherL(TBool /*aPauseState*/)
	{
// Add 2007.08.06
	iView->iDrawer->DrawStopPictureL(EFalse);
	iView->iProc = ESmbMusicAPMainPlayerPlayProcNone;
// Add End 2007.08.06
	// Music傾僾儕忬懺傪旕嵞惗拞偵偡傞丅
	iView->ChangeState(ESmbMusicAPMainPlayerPlayStop);
	SmbPGMusic::SetMusicAPPlayerStateL(iPropAgent, ESmbPGMusicAPPlayerStateNotPlaying);

	}


//==============================================================================================
//
//  偦偺懠
//
//
//==============================================================================================

/**
 * 弶婜忬懺夋柺偺昤夋傪峴偆丅
 *
 * Y: public
 *
 * @param[in] aInit 弶婜夋柺昞帵乮ETrue:價僕儏傾儔僀僓乕夋柺昞帵乯
 */ 
void CSmbMusicAPMainPlayerStateInitial::RedrawL(TBool /*aInit*/)
	{
	iView->iDrawer->DrawIdlePictureL(EFalse, EFalse);
// Add 2007.09.11
	iView->ChangeFuncKeyState(ETrue);		// 婡擻僉乕傪桳岠偵偡傞
// Add End 2007.09.11
	}

SEMCJ_NAMESPACE_END

// end of SmbMusicAPMainPlayerPlayView.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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