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

📄 myplayer.cpp

📁 symbian os s60 3rd音频播放器
💻 CPP
字号:
#include "MyPlayer.h"
#include <aknappui.h>
#include "AudioPlayerAppView.h"
#include <eiklabel.h>
void CMyPlayer::CreatePlayerL(const TDesC& aFileName)
{
	iPlayer = CMdaAudioPlayerUtility::NewFilePlayerL(aFileName, *this);
	iState = EInitialising;
}

void CMyPlayer::PlaySound()
{
	if ( iState == EPrepared)
	{
	iPlayer->SetVolume(iPlayer->MaxVolume());
	iPlayer->Play();
	iState = EPlaying;
	CEikLabel* label = static_cast<CEikLabel*>(iContainer->ComponentControl(0));
	label->SetTextL(_L("Player is playing"));
	label->SetExtentToWholeScreen();
	label->DrawDeferred();
	}
}
void CMyPlayer::StopSound()
{
	if (iState == EPlaying)
	{
	iPlayer->Stop();
	iState = EPrepared;	
	CEikLabel* label = static_cast<CEikLabel*>(iContainer->ComponentControl(0));
	label->SetTextL(_L("Player is stoped"));
	label->SetExtentToWholeScreen();
	label->DrawDeferred();
	}
	
}

void CMyPlayer::PauseSound()
{
	if (iState == EPlaying)
	{
		if (iPlayer->Pause() == KErrNone)
		{
		iState = EPrepared;	
		CEikLabel* label = static_cast<CEikLabel*>(iContainer->ComponentControl(0));
		label->SetTextL(_L("Player is paused"));
		label->SetExtentToWholeScreen();
		label->DrawDeferred();
		}
	}
}
CMyPlayer::~CMyPlayer()
{
	if (iPlayer)
	{
		delete iPlayer;
		iPlayer = NULL;
	}
//	if (iContainer)
//	{
//		delete iContainer;
//		iContainer = NULL;
//	}
}

//void CMyPlayer::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aTrailingSilence*/)
//{
//	if (aError == KErrNone)
//		{
//		iState = EPrepared;	
//		PlaySound();	
//		}
//}
void CMyPlayer::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds&)
{
	if (aError == KErrNone)
		{
		iState = EPrepared;
		CEikLabel* label = static_cast<CEikLabel*>(iContainer->ComponentControl(0));
		label->SetTextL(_L("Player is ready"));
		label->SetExtentToWholeScreen();
		label->DrawDeferred();
	//	PlaySound();	
		}
}
void CMyPlayer::MapcPlayComplete(TInt aError)
{
	if (aError == KErrNone)
		{
		iState = EPrepared;	
		CEikLabel* label = static_cast<CEikLabel*>(iContainer->ComponentControl(0));
		label->SetTextL(_L("Player is finished"));
		label->SetExtentToWholeScreen();
		label->DrawDeferred();
		}
}

void CMyPlayer::SetContainer(CCoeControl* aContainer)
{
	iContainer = static_cast<CAudioPlayerAppView*>(aContainer);
}

⌨️ 快捷键说明

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