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

📄 smbmusicapmainplayerplayview.cpp

📁 symbian
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// Add End 2007.01.15  TRK:12687 (PTX824 TRK:786)
	}

// PTX824懳墳
// Add 2007.03.27
/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   働乕僗僋儘乕僘忬懺偺張棟乮夞悢惂尷晅僐儞僥儞僣傪専弌偟偨乯
 */
void CSmbMusicAPMainPlayerPlayView::NotifyLimitCountContentsInCaseCloseL()
	{
// Change 2007.09.08
	if (iPlayerEnv.HoldAppStatus() != EFalse)
//	if (iPlayerEnv.HoldAppStatus() != EFalse || iPlayerEnv.IsCaseClosedL() == EFalse)
		{
		// 僒僽僾儗僀儎乕偑Hold忬懺偺応崌
		iState->NotifyLimitCountContentsL();
		}
	else if (iPlayerEnv.IsCaseClosedL() == EFalse)
		{
		iCmd->PlayStop();
		}
	else
		{
		iPlayList.iIndex = iIndex;
		iProc = ESmbMusicAPMainPlayerPlayProcNone;		// 2006.10.04
		iFailState = EFalse;							// 2006.10.20
		iPlay2Start = EFalse;							// 2006.10.21  TRK:11933
// Add 2007.07.04
		if (ESmbMusicAPMainPlayerPlayInitial == iStatus)
			{
			// 嵞惗價儏乕忬懺偑弶婜忬懺偺応崌偼掆巭拞忬懺偵偡傞
			ChangeState(ESmbMusicAPMainPlayerPlayStop);
			}
// Add End 2007.07.04
		}
	}

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   働乕僗僋儘乕僘忬懺偺張棟乮僌儗乕僗僺儕僆僪婜娫撪僐儞僥儞僣傪専弌偟偨乯
 */
void CSmbMusicAPMainPlayerPlayView::NotifyGracePeriodContentsInCaseCloseL()
	{
	if (iPlayerEnv.HoldAppStatus() != EFalse)
		{
		// 僒僽僾儗僀儎乕偑Hold忬懺偺応崌
		if (ESmbMusicAPMainPlayerPlayPlaying == ViewStatus())
			{
			// 嵞惗拞偺応崌偼嵞惗妋擣傪敪峴偡傞
			iCmd->ConfirmedPlay();
			}
		else
			{
			iState->NotifyGracePeriodContentsL();
			}
		}
	else
		{
		iPlayList.iIndex = iIndex;
		iProc = ESmbMusicAPMainPlayerPlayProcNone;		// 2006.10.04
		iFailState = EFalse;							// 2006.10.20
		iPlay2Start = EFalse;							// 2006.10.21  TRK:11933
		}
	}
// Add End 2007.03.27

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   働乕僗僋儘乕僘忬懺偺張棟乮嵞惗奐巒捠抦丄嵞惗嬋曄峏捠抦乯
 * @param[in] aEvent 僀儀儞僩忣曬
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventPlayInCaseClose(TSmbMusicAPSyncEnginePlayerEvent& aEvent)
	{
	// ADD-START
	// (07/09/05 SEMC 媑壀)
	// 嬋嵞惗帪娫僇僂儞僞偺嵞昤夋惂屼偺僼儔僌傪弶婜壔
	iDrawer->SetIsSongTimerTmpStop(EFalse);
	// ADD-END
	// 嵞惗奐巒捠抦丄嵞惗嬋曄峏捠抦
	ChangeState(ESmbMusicAPMainPlayerPlayPlaying);
	iPlayList.iIndex = iIndex;
	iProc = ESmbMusicAPMainPlayerPlayProcNone;		// 2006.10.04
	iFailState = EFalse;					// 2006.10.20
	iPlay2Start = EFalse;					// 2006.10.21  TRK:11933

// Add 2007.07
	iChangedSong = ETrue;
// Add End 2007.07
	
	// Add 2006.10.16  TRK:11480
	if (ESmbMusicAPSyncEngineStartPlay == aEvent.iType && EFalse != iPlayerEnv.MannerModePlayingState())
		{
		TInt ret = iCmd->UpdateDisplayInfo(ESmbMusicAPPlayerMannerModePlayEvent, iPlayList, EFalse);
		if (KErrNone != ret)
			{
			_LIT(KLogFmt2, "CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventPlayInCaseClose UpdateDisplayInfo err=%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), 202012, ELogLevelHigh, KLogFmt2, ret);
			User::Leave(ret);
			}
		}
	// Add ENd 2006.10.16  TRK:11480
	}

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   働乕僗僋儘乕僘忬懺偺張棟乮嵞惗晄壜捠抦乯
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventFailSongInCaseCloseL()
	{
// Change 2007.07.06
//	// 嵞惗晄壜嬋僗僉僢僾娫妘僞僀儅乮1昩乯傪僙僢僩偡傞
//	delete iPeriodic;
//	iPeriodic = CPeriodic::NewL(EActivePriorityDefault);
//	iPeriodic->Start(
//		TTimeIntervalMicroSeconds32(KSmbMusicAPMainPlayerPlayFailDelay * 1000),	// delay(500ms)
//		0, 																		// interval = 0昩
//		TCallBack(CallBackFailTimer, this) );
//		
//	if (ESmbMusicAPMainPlayerPlayPlaying != iState->PlayStatus())
//		{
//		ChangeState(ESmbMusicAPMainPlayerPlayStop);
//		}
	if (ESmbMusicAPMainPlayerPlayPlaying == iState->PlayStatus())
		{
		// 嵞惗拞忬懺側傜嵞惗晄壜嬋僗僉僢僾娫妘僞僀儅乮1昩乯傪僙僢僩偡傞
		delete iPeriodic;
		iPeriodic = CPeriodic::NewL(EActivePriorityDefault);
		iPeriodic->Start(
			TTimeIntervalMicroSeconds32(KSmbMusicAPMainPlayerPlayFailDelay * 1000),	// delay(500ms)
			0, 																		// interval = 0昩
			TCallBack(CallBackFailTimer, this) );
		}
	else
		{
		ChangeState(ESmbMusicAPMainPlayerPlayStop);
// Add 2007.09.18
//		// 儊僀儞僾儗乕儎乕偱偼忢偵掆巭梫媮傪敪峴偡傞
//		iCmd->PlayStop();
// Add End 2007.09.18
		}
// Change End 2007.07.06
	iPlayList.iIndex = iIndex;
	iFailState = ETrue;					// 2006.10.20
	iPlay2Start = EFalse;				// 2006.10.21  TRK:11933

// Add 2007.07
	iChangedSong = ETrue;
// Add End 2007.07
	
	}

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   働乕僗僋儘乕僘忬懺偺張棟乮儕僗僩嵞惗姰椆捠抦乯
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventCompleteInCaseClose()
	{
	ChangeState(ESmbMusicAPMainPlayerPlayStop);
	iPlayList.iIndex = iIndex;
	iPlayComplete = ETrue;
	iProc = ESmbMusicAPMainPlayerPlayProcNone;
	iFailState = EFalse;					// 2006.10.20
	}

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   働乕僗僋儘乕僘忬懺偺張棟乮嵞惗掆巭捠抦乯
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventPauseInCaseCloseL()
	{
	iFailState = EFalse;					// 2006.10.20
	iPlay2Start = EFalse;					// 2006.10.21  TRK:11933
	if (ESmbMusicAPMainPlayerPlayProcStartPlay == iProc)
		{
		iDrawer->DoMusicEnableL(EFalse);	// TRK:11398	2006.10.16

		TSmbMusicAPMainPlayerPrmDeleteOne param;
		param.iListHandle = iPlayList.iListHandle;
		param.iIndex = iIndex;
		// 婲摦僷儔儊乕僞嶌惉
		TPckgBuf<TSmbMusicAPMainPlayerPrmDeleteOne> parambuf(param);
		// 僼傿儖僞乕價儏乕傊愗懼偊傞丅
		iViewTop = EFalse;		// TRK:10795  2006.10.13
		iPlayerEnv.BasisPartFuncInterface().ChangeViewL(ESmbMusicAPMainPlayerFilterViewId,
                                                        KSmbMusicAPMainPlayerChangeViewMsgUid, KNullDesC8);
		iProc = ESmbMusicAPMainPlayerPlayProcNone;
		}
	// 2006.10.11  TRK:10896
	ChangeState(ESmbMusicAPMainPlayerPlayStop);
	iPlayerEnv.SetMannerModePlayingStateL(EFalse);	// 2006.09.29

// Add 2007.04.04 PTX824 TRK:529 懳墳
	if (EFalse != iPlayerEnv.IsAccessSyncEngine())
		{
		iState->RedrawL(EFalse);
		}
// Add End 2007.04.04 PTX824 TRK:529 懳墳

	iProc = ESmbMusicAPMainPlayerPlayProcNone;		// 2006.10.04
	}

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   嵞惗晄壜嬋僗僉僢僾拞偵嵞惗嬋愗懼偊偑峴傢傟偨偲偒偺張棟
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventChangeSongInFailSkip()
	{
	iFial2Play = EFalse;
	iCancelClearKey = ETrue;		// 2006.10.10  TRK:11010
	iCmd->PlayStop();
	// 嵞惗奐巒張棟忬懺
	iStartPause = ETrue;			// 2006.10.06  TRK:9895
	iProc = ESmbMusicAPMainPlayerPlayProcStartPlay;
	ChangeState(ESmbMusicAPMainPlayerPlayStop);
	iPauseState = EFalse;			// 2006.10.12  TRK:11453
	}

/**
 * 嵞惗奐巒捈屻1昩偺僞僀儅乕傪奐巒偡傞丅
 */
void CSmbMusicAPMainPlayerPlayView::StartPlayTimerL()
	{
	delete iPeriodicStart;
	iPeriodicStart = NULL;			// 2006.10.17
	iPeriodicStart = CPeriodic::NewL(EActivePriorityDefault);
	iPeriodicStart->Start(
			TTimeIntervalMicroSeconds32(KSmbMusicAPMainPlayerStartTimer),		// delay(3昩)
			NULL,																// interval
			TCallBack(CallBackPlayStartTimer, this) );
	}

/**
 * 僞僀儉傾僢僾帪偺僐乕儖僶僢僋張棟(嵞惗奐巒捈屻1昩)
 * @param[in] aAny 僐乕儖僶僢僋僋儔僗
 * @return KErrNone:惓忢廔椆
 */
TInt CSmbMusicAPMainPlayerPlayView::CallBackPlayStartTimer(TAny* aAny)
	{
	CSmbMusicAPMainPlayerPlayView* self = static_cast<CSmbMusicAPMainPlayerPlayView*>(aAny);

	delete self->iPeriodicStart;
	self->iPeriodicStart = NULL;
	return KErrNone;
	}

/**
 * 僞僀儉傾僢僾帪偺僐乕儖僶僢僋張棟(嵞惗晄壜嬋僗僉僢僾張棟)
 *   師嬋嵞惗傪峴偆丅
 * @param[in] aAny 僐乕儖僶僢僋僋儔僗
 * @return KErrNone:惓忢廔椆
 */
TInt CSmbMusicAPMainPlayerPlayView::CallBackFailTimer(TAny* aAny)
	{
	CSmbMusicAPMainPlayerPlayView* self = static_cast<CSmbMusicAPMainPlayerPlayView*>(aAny);

	delete self->iPeriodic;
	self->iPeriodic = NULL;

// Change 2007.08.10
//	if (ESmbMusicAPMainPlayerPlayProcFailSongCancel != self->iProc)
	if (ESmbMusicAPMainPlayerPlayProcFailSongCancel != self->iProc &&
	    EFalse != self->iPlayerEnv.IsAccessSyncEngine()
	   )
// Change End 2007.08.10
		{
		// 嬋忣曬庢摼拞偱偁傟偽僉儍儞僙儖偡傞丅
		self->iCmd->CancelAction();
	
		self->iProc = ESmbMusicAPMainPlayerPlayProcNextSong;
		self->iCmd->PlayNext();			// 師嬋偺嵞惗
		}
	return KErrNone;
	}

/**
 * 僞僀儉傾僢僾帪偺僐乕儖僶僢僋張棟(嵞惗帪娫庢摼儕僩儔僀張棟)
 * @param[in] aAny 僐乕儖僶僢僋僋儔僗
 * @return KErrNone:惓忢廔椆
 */
TInt CSmbMusicAPMainPlayerPlayView::CallBackRetryTimer(TAny* aAny)
	{
	CSmbMusicAPMainPlayerPlayView* self = static_cast<CSmbMusicAPMainPlayerPlayView*>(aAny);

	delete self->iPeriodicTime;
	self->iPeriodicTime = NULL;
	
	if (self->iProc == self->iPeriodicProcProc && EFalse != self->IsDrawableL())
		{
		self->iCmd->GetPlayTime();
		}

	return KErrNone;
	}

/**
 * 僟僀傾儘僌僋儘乕僘偺捠抦 (HandleControlEventL)
 *
 * @param[in] aResourceId 僋儘乕僘偝傟偨僟僀傾儘僌偺儕僜乕僗ID
 * @param[in] aResult 僋儘乕僘偝傟偨棟桼
 * @see CSkonDialogBase::TSKONDialogStatus
 */
void CSmbMusicAPMainPlayerPlayView::HandleDialogClosed(TInt aResourceId, TInt aResult)
	{
	if (iDisplayDialog != NULL)
		{
		iDisplayDialog = NULL;
		TRAPD(err, TrappedHandleDialogClosedL(aResourceId, aResult));
		if (KErrNone != err)
			{
			// TrappedHandleDialogClosedL()幐攕
			_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::HandleDialogClosed TrappedHandleDialogClosedL Fail");
			SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), 201019, ELogLevelHigh, KLogFmt);
			}
		}
	iDisplayDialog = NULL;
	}

void CSmbMusicAPMainPlayerPlayView::TrappedHandleDialogClosedL(TInt aResourceId, TInt aResult)
	{
	if (R_DL_MUSIC_MAIN_PLAY_LIMIT_COUNT == aResourceId)
		{
		// 嵞惗夞悢惂尷嬋偺妋擣
		iDisplayedPopup = EFalse;
		if (MSmbMusicAPMainPlayerDialogManagerBase::EClosedApp == aResult)
			{
			// 掆巭捠抦偵傛傝僋儘乕僘偝傟偨応崌偼壗傕偟側偄丅
			return;
			}
		
		if (0 > aResult)
			{
			// 僉儍儞僙儖偝傟偨
			iCmd->PlayStop();
			}
		else
			{
			// 儅僫乕儌乕僪丄傾僾儕掅揹埑僠僃僢僋
			if (EFalse == iPlayerEnv.BasisPartFuncInterface().PreCheckWhenStartPlayL(iPlayList.iListHandle, iPlayList.iIndex))
				{
				// 嵞惗晄壜
				iCmd->PlayStop();
				}
			else
				{
				// 嵞惗壜
				if (0 == aResult)
					{
					// 乽偼偄乿偑慖戰偝傟偨
					iCmd->ConfirmedPlay();			// 嵞惗妋擣
// Add 2007.07.20
					iProc = ESmbMusicAPMainPlayerPlayProcNone;
// Add End 2007.07.20
					}
				else
					{
					// 乽偄偄偊乿偑慖戰偝傟偨
					iCmd->PlayNext();				// 師嬋嵞惗
// Add 2007.07.25
//					iProc = ESmbMusicAPMainPlayerPlayProcNone;
// Add End 2007.07.25
					}
				}
			}
		}

	else if (R_DL_MUSIC_MAIN_PLAY_GRACE_PERIOD == aResourceId)
		{
		// 僌儗乕僗僺儕僆僪斖埻撪妋擣
		iDisplayedPopup = EFalse;
		iCmd->ConfirmedPlay();			// 嵞惗妋擣
// Add 2007.07.06
		iProc = ESmbMusicAPMainPlayerPlayProcNone;
// Add End 2007.07.06
		}

	else
		{
		iDrawer->DrawStopPictureL(EFalse);
		iProc = ESmbMusicAPMainPlayerPlayProcNone;		// 2006.09.20
		}
	}

/**
 * HW堎忢捠抦張棟\n
 *   儊僀儞僾儗僀儎乕傪嫮惂廔椆偝偣傞丅
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayHWAbortL()
	{
	iPlayerEnv.BasisPartFuncInterface().ExitAppL(ESmbMusicAPMainPlayerExitHardwareFailed);
	}

/**
 * 摨婜宯僀儀儞僩捠抦張棟\n
 * 捠抦偝傟偨摨婜宯偺僀儀儞僩偵懳墳偡傞張棟傪峴偆丅
 * @param[in] aEvent 僀儀儞僩忣曬
 */
void CSmbMusicAPMainPlayerPlayView::NotifySyncEventL(TSmbMusicAPSyncEngineSyncEvent& aEvent)
	{
	iSyncEvent = aEvent;
	if (ESmbMusicAPSyncEngineUpdateInfo == aEvent.iType)
		{
		// 忣曬峏怴捠抦偺応崌
		NotifyUpdateInfoL(aEvent.iInfo);
		}
	}

/**
 * 忣曬峏怴捠抦\n
 *   嵞惗價儏乕偑傾僋僥傿僽偺応崌丄僒僽僾儗僀儎乕偺夋柺忣曬偵廬偭偰夋柺傪峏怴偡傞丅
 * @param[in] aInfo 摨婜僀儀儞

⌨️ 快捷键说明

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