📄 myplayer.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 + -