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

📄 smbmusicapmainplayerplayview.cpp

📁 symbian
💻 CPP
📖 第 1 页 / 共 5 页
字号:
 * 憗憲傝夋柺偐傜嵞惗夋柺傊慗堏偡傞丅
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespCancelPlayFFL(TInt aResult)
	{
	iState->RespCancelPlayFFL(aResult);
	}

/**
 * 憗栠偟奐巒墳摎張棟\n
 * 嵞惗夋柺偐傜憗栠偟夋柺傊慗堏偡傞丅
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespStartPlayFRL(TBool aResult)
	{
	iState->RespStartPlayFRL(aResult);
	}

/**
 * 憗栠偟夝彍墳摎張棟\n
 * 憗栠偟夋柺偐傜嵞惗夋柺傊慗堏偡傞丅
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespCancelPlayFRL(TInt aResult)
	{
	iState->RespCancelPlayFRL(aResult);
	}

/**
 * 嬋憲傝墳摎張棟\n
 * 掆巭拞偱偁傟偽嵞惗嬋忣曬傪峏怴偡傞丅
 * @param[in] aResult 張棟寢壥
 * @param[in] aIndex 曄峏偟偨嬋偺僀儞僨僢僋僗
 */
void CSmbMusicAPMainPlayerPlayView::RespPlayNextL(TInt aResult, TInt aIndex)
	{
	iState->RespPlayNextL(aResult, aIndex);
	}

/**
 * 嬋栠偟墳摎張棟\n
 * 掆巭拞偱偁傟偽嵞惗嬋忣曬傪峏怴偡傞丅
 * @param[in] aResult 張棟寢壥
 * @param[in] aIndex 曄峏偟偨嬋偺僀儞僨僢僋僗
 */
void CSmbMusicAPMainPlayerPlayView::RespPlayPrevL(TInt aResult, TInt aIndex)
	{
	iState->RespPlayPrevL(aResult, aIndex);
	}


/**
 * 摢弌偟墳摎張棟\n
 * 掆巭拞偱偁傟偽嵞惗嬋忣曬傪峏怴偡傞丅
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespPlaySongHeadL(TInt aResult)
	{
	iState->RespPlaySongHeadL(aResult);
	}

/**
 * 嵞惗嬋忣曬庢摼梫媮敪峴偺専嵏\n
 *   尰嵼偺嵞惗嬋忣曬偺嬋僀儞僨僢僋僗偲堦抳偟偰偄傞応崌偼敪峴偟側偄丅
 */
void CSmbMusicAPMainPlayerPlayView::ReqGetPlayInfoL()
	{
	if (iSongInfoIndex == iPlayList.iIndex)
		{
		// 尰嵼偺嵞惗嬋忣曬偺嬋僀儞僨僢僋僗偲堦抳偟偰偄傞応崌
		RespGetPlayInfoL(iArtistTitle, iAlbumTitle, iSongTitle, iTotalPlayTime, ETrue);
		}
	else
		{
		iCmd->GetPlaySongInfo(iPlayList);
		}
	}

/**
 * 嵞惗嬋忣曬庢摼墳摎
 * 捠抦偝傟偨嵞惗嬋忣曬偱丄嵞惗夋柺丄枖偼掆巭夋柺傪峏怴偡傞丅
 * @param[in] aArtistTitle 傾乕僥傿僗僩柤
 * @param[in] aAlbumTitle 傾儖僶儉柤
 * @param[in] aSongTitle 嬋僞僀僩儖柤
 * @param[in] aTotalPlayTime 僩乕僞儖嵞惗嬋帪娫
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespGetPlayInfoL(TDes& aArtistTitle, TDes& aAlbumTitle, TDes& aSongTitle, 
                                                     TInt aTotalPlayTime, TBool aResult)
	{
	iState->RespGetPlayInfoL(aArtistTitle, aAlbumTitle, aSongTitle, aTotalPlayTime, aResult);
	}

/**
 * 僕儍働僢僩夋憸庢摼墳摎\n
 * 庢摼偟偨僕儍働僢僩夋憸傪嵞惗(掆巭)夋柺偵愝掕偡傞丅
 * @param[in] aJacket 僕儍働僢僩夋憸偺價僢僩儅僢僾僨乕僞
 * @param[in] aJacketMask 僕儍働僢僩夋憸偺儅僗僋僨乕僞
 * @param[in] aIcon 傾僀僐儞夋憸偺價僢僩儅僢僾僨乕僞
 * @param[in] aIconMask 傾僀僐儞夋憸偺儅僗僋僨乕僞
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespGetImageL(CFbsBitmap* aJacket, CFbsBitmap* aJacketMask, CFbsBitmap* aIcon, CFbsBitmap* aIconMask, TBool aResult)
	{

//	CleanupStack::PushL(aJacket);
//	CleanupStack::PushL(aJacketMask);
//	CleanupStack::PushL(aIcon);
//	CleanupStack::PushL(aIconMask);
	
//__UHEAP_FAILNEXT(1);  // UT丗
//
	iState->RespGetImageL(aJacket, aJacketMask, aIcon, aIconMask, aResult);

//	CleanupStack::Pop();
//	CleanupStack::Pop();
//	CleanupStack::Pop();
//	CleanupStack::Pop();
	}

/**
 * 嵞惗宱夁帪娫庢摼墳摎\n
 * 捠抦偝傟偨嵞惗宱夁帪娫傪愝掕偟偰丄嵞惗價儏乕忬懺偵懳墳偟偨夋柺傪昤夋偡傞丅
 * @param[in] aPlayTime 嵞惗宱夁帪娫(昩)
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespGetPlayTimeL(TInt aPlayTime, TInt aResult)
	{
	iState->RespGetPlayTimeL(aPlayTime, aResult);
	}

/**
 * 壒検愝掕墳摎
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespSetVolumeL(TBool aResult)
	{
	iState->RespSetVolumeL(aResult);
	}

/**
 * 僕儍働僢僩夋憸偺僨僼僅儖僩夋憸傪撉傒崬傓
 */
void CSmbMusicAPMainPlayerPlayView::GetDefaultImageL()
	{
	// 僨僼僅儖僩夋憸撉傒崬傒	
	iDefaultImage = new(ELeave) CFbsBitmap();
	User::LeaveIfError(iDefaultImage->Load(KSmbMusicApPlayerDefaultBitmap, EMbmMusicMc_no_image));
	iDefaultImageMask = NULL;
	// 傾僀僐儞僨僼僅儖僩夋憸曄峏	2006.09.13
	if (NULL == iDefaultImageIcon)
		{
		iDefaultImageIcon = new(ELeave) CFbsBitmap();
		// 傾僀僐儞昞帵梡僨乕僞ID : EMbmMusicMc_no_image_s	2006.09.04
		User::LeaveIfError(iDefaultImageIcon->Load(KSmbMusicApPlayerDefaultBitmap, EMbmMusicMc_no_image_s));
		iDefaultImageIconMask = NULL;
		}
	iCmd->ResizeImage(iDefaultImage, iDefaultImageMask, TSize(KSmbMusicAPMainPlayerPlayJacketSizeX, KSmbMusicAPMainPlayerPlayJacketSizeY));
	}

/**
 * 價僢僩儅僢僾夋憸僒僀僘曄峏墳摎\n
 * 僨僼僅儖僩夋憸傪愝掕偡傞丅
 * @param[in] aBitmap 僒僀僘曄峏屻偺價僢僩儅僢僾僨乕僞
 * @param[in] aMask 僒僀僘曄峏屻偺儅僗僋僨乕僞
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespResizeImageL(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TBool aResult)
	{
	CleanupStack::PushL(aBitmap);
	CleanupStack::PushL(aMask);
//__UHEAP_FAILNEXT(1);  // UT丗

	iState->RespResizeImageL(aBitmap, aMask, aResult);

	CleanupStack::Pop();
	CleanupStack::Pop();
	}


/**
 * 夋憸枃悢庢摼墳摎
// * @param[in] aNumJacket 僕儍働僢僩夋憸偺枃悢
// * @param[in] aJacketMask 壧帉夋憸偺枃悢
// * @param[in] aSDBind SDBind妝嬋僼儔僌(ETrue:SDBind妝嬋)
 * @param[in] aCount 嵞惗嬋偺夋憸枃悢忣曬
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespGetImageNumL(TSmbMusicAPSyncEngineImageCountInSongItem& aCount, TBool aResult)
	{
	iState->RespGetImageNumL(aCount, aResult);
	}

/**
 * 摨婜僒乕僶偐傜KErrServerTerminated傪捠抦偝傟偨偲偒偺張棟
 */
void CSmbMusicAPMainPlayerPlayView::RespServerTerminatedL()
	{
	iState->RespServerTerminatedL();
	}

// PTX824懳墳
// Add 2007.03.20
/**
 * 嵞惗妋擣墳摎
 * @param[in] aResult 張棟寢壥
 */
void CSmbMusicAPMainPlayerPlayView::RespConfirmedPlayL(TInt aResult)
	{
	iState->RespConfirmedPlayL(aResult);
	}
// Add End 2007.03.20

// Add 2007.09.11
/**
 * 僒乕僶巊梡尃側偟墳摎
 * @param[in] aKind 張棟庬暿
 */
void CSmbMusicAPMainPlayerPlayView::RespPermissionDenied(TInt aKind)
	{
	iState->RespPermissionDenied(static_cast<TSmbMusicAPMainPlayerPlayRequest>(aKind));
	}
// Add End 2007.09.11

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 * 捠抦偝傟偨嵞惗宯偺僀儀儞僩偵懳墳偡傞張棟傪峴偆丅
 * @param[in] aEvent 僀儀儞僩忣曬
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventL(TSmbMusicAPSyncEnginePlayerEvent& aEvent)
	{
	iPlayEvent = aEvent;
	iIndex = aEvent.iInfo.iIndex;
	
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventL iType=%d song index=%d cause=%d iLowBattery=%d");
	SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), 200016, ELogLevelNormal, KLogFmt, aEvent.iType, iIndex, iPlayEvent.iInfo.iCause, iLowBattery);

	delete iPeriodic;
	iPeriodic = NULL;

	iStartingAutoResume = EFalse;		// 2007.08.20

	if (NULL !=iSubMenu &&
	    (!(ESmbMusicAPSyncEngineStopPlay == aEvent.iType && EFalse !=iPauseState)	// TRK:10291  2006.10.10
	    )
	   )
		{
		// 僒僽儊僯儏乕昞帵拞側傜僒僽儊僯儏儐乕傪僋儘乕僘偡傞丅
		iSubMenu->Close();
		}
	
	if (EFalse != iSyncRelease)
		{
		// 摨婜僄儞僕儞巊梡尃妉摼捠抦帪張棟忬懺偺応崌
		iBasisPartObserver->CompleteRequestReleaseSyncEngine(this);
		
		iProc = ESmbMusicAPMainPlayerPlayProcNone;
		iSyncRelease = EFalse;
		
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventL(CompleteRequestReleaseSyncEngine)");
		SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), 200116, ELogLevelNormal, KLogFmt);
		}

// Change 2007.04.02 PTX824 TRK:460
//	if (IsCaseClosedL() != EFalse)
	if (IsCaseClosedL() != EFalse ||
	    ESmbMusicAPMainPlayerPlayDispNone == iDrawer->DispStatus()		// DoConstructContainerL()偑傑偩屇偽傟偰偄側偄
	   )
// Change End 2007.04.02 PTX824 TRK:460
		{
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventL(CaseClosed) iProc=%d");
		SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), 201116, ELogLevelNormal, KLogFmt, iProc);
		
		// 抂枛暵忬懺偱摨婜僄儞僕儞巊梡尃妉摼捠抦帪張棟忬懺埲奜偺応崌
		NotifyPlayerEventInCaseCloseL(aEvent);
		
		return;
		}
	
	if (EFalse != iFial2Play)
		{
		// 嵞惗晄壜嬋僗僉僢僾拞偵嵞惗嬋愗懼偊偑峴傢傟偨
		NotifyPlayerEventChangeSongInFailSkip();
		
		return;
		}

	// 僀儀儞僩僞僀僾偺敾掕
	switch (aEvent.iType)
		{
		case ESmbMusicAPSyncEngineStartPlay:
			// 嵞惗奐巒捠抦
			iState->NotifyStartPlayL();
			break;
		
		case ESmbMusicAPSyncEngineChangePlaySong:
			// 嵞惗嬋曄峏捠抦
			iState->NotifyChangePlaySongL();
			break;
		
		case ESmbMusicAPSyncEnginePlayFail:
			// 嵞惗晄壜捠抦
			iState->NotifyPlayFailL();
			break;
		
		case ESmbMusicAPSyncEngineCompletePlayList:
			// 儕僗僩嵞惗姰椆捠抦
			iState->NotifyCompletePlayListL();
			break;
		
		case ESmbMusicAPSyncEngineStopPlay:
			// 堦帪掆巭捠抦
			iState->NotifyStopPlayL();
			break;
		
		case ESmbMusicAPSyncEngineFFToSongEnd:
			// 憗憲傝嬋廔抂専弌捠抦
			iState->NotifyFFToSongEndL();
			break;
		
		case ESmbMusicAPSyncEngineFRToSongHead:
			// 憗栠偟嬋愭摢専弌捠抦
			iState->NotifyFRToSongHeadL();
			break;
		
		case ESmbMusicAPSyncEnginePlayHWAbort:
			// HW堎忢捠抦
			NotifyPlayHWAbortL();
			break;

// PTX824懳墳
// Add 2007.03.16 PTX824 捛壛僀儀儞僩
		case ESmbMusicAPSyncEngineLimitCountContents:
			// 夞悢惂尷晅僐儞僥儞僣傪専弌偟偨
			iState->NotifyLimitCountContentsL();
			break;

		case ESmbMusicAPSyncEngineGracePeriodContents:
			// 僌儗乕僗僺儕僆僪婜娫撪僐儞僥儞僣傪専弌偟偨
			iState->NotifyGracePeriodContentsL();
			break;

		case ESmbMusicAPSyncEngineEnableAuteResume:
			// 儕僜乕僗奐曻捠抦傪庴偗庢傝丄儗僕儏乕儉嵞惗壜擻偵側偭偨
			iState->NotifyEnableAuteResumeL();
			break;
// Add End 2007.03.16 PTX824 捛壛僀儀儞僩
		
		default:
			break;
		}

	iPauseState = EFalse;			// 2006.10.01  TRK:10167
	iPauseResumeCancel = EFalse;	// 2006.10.14  TRK:11175
	}

/**
 * 嵞惗宯僀儀儞僩捠抦張棟\n
 *   働乕僗僋儘乕僘忬懺偺張棟
 * @param[in] aEvent 僀儀儞僩忣曬
 */
void CSmbMusicAPMainPlayerPlayView::NotifyPlayerEventInCaseCloseL(TSmbMusicAPSyncEnginePlayerEvent& aEvent)
	{
	switch (aEvent.iType)
		{
		case ESmbMusicAPSyncEngineStartPlay:
		case ESmbMusicAPSyncEngineChangePlaySong:
			// 嵞惗奐巒捠抦丄嵞惗嬋曄峏捠抦
			NotifyPlayerEventPlayInCaseClose(aEvent);
			break;
		case ESmbMusicAPSyncEnginePlayFail:
			// 嵞惗晄壜嬋捠抦
			NotifyPlayerEventFailSongInCaseCloseL();
			break;
		case ESmbMusicAPSyncEngineCompletePlayList:
			// 儕僗僩嵞惗姰椆捠抦
			NotifyPlayerEventCompleteInCaseClose();
			break;
		case ESmbMusicAPSyncEngineStopPlay:
			// 嵞惗掆巭捠抦
			NotifyPlayerEventPauseInCaseCloseL();
			break;
// PTX824懳墳
// Add 2007.03.16 PTX824 捛壛僀儀儞僩
		case ESmbMusicAPSyncEngineLimitCountContents:
			// 夞悢惂尷晅僐儞僥儞僣傪専弌偟偨
			NotifyLimitCountContentsInCaseCloseL();
			break;

		case ESmbMusicAPSyncEngineGracePeriodContents:
			// 僌儗乕僗僺儕僆僪婜娫撪僐儞僥儞僣傪専弌偟偨
			NotifyGracePeriodContentsInCaseCloseL();
			break;

		case ESmbMusicAPSyncEngineEnableAuteResume:
			// 儕僜乕僗奐曻捠抦傪庴偗庢傝丄儗僕儏乕儉嵞惗壜擻偵側偭偨
			if (iPlayerEnv.IsCaseClosedL() == EFalse)
				{
				// 働乕僗僆乕僾儞忬懺側傜嵞惗奐巒張棟傪峴偆丅
				iState->NotifyEnableAuteResumeL();
				}
			break;
// Add End 2007.03.16 PTX824 捛壛僀儀儞僩
		default:
			break;
		}
// Add 2006.12.05  TRK:12543
	iNotifyFial2Idle = EFalse;
// Add End 2006.12.05  TRK:12543

// Add 2007.01.15  TRK:12687 (PTX824 TRK:786)
	iPauseWaiting = EFalse;

⌨️ 快捷键说明

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