My Code is:
AudioPlayerAdaptor.cpp
-----------------------
Code:
#include <eikenv.h>
#include "AudioPlayerAdaptor.h"
#include "FileLogger.h"
#include <in_sock.h>
#include <e32std.h>
#ifdef __WINSCW__
const TInt KMaxSound(65535);
#else
const TInt KMaxSound(100);
#endif
const TInt KOneSecond = 1000 * 1000; // 1 second in microseconds
const TInt KVolumeDenominator = 2;
CAudioPlayerAdaptor* CAudioPlayerAdaptor::NewLC(CAudioStreamAppUi* aAppUi)
{
CAudioPlayerAdaptor* self = new (ELeave) CAudioPlayerAdaptor(aAppUi);
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CAudioPlayerAdaptor::~CAudioPlayerAdaptor()
{
PlayCleanup();
}
void CAudioPlayerAdaptor::SetFileL()
{
}
void CAudioPlayerAdaptor::StartPlay()
{
CFileLogger::WriteLogL(_L("StartPlay()"));
if(iState == EIdle && iWantToPlay)
{
iAuPlayUtil->Close();
iState = EPrepare;
iWantToPlay = ETrue;
CFileLogger::WriteLogL(_L("Before OpenURL"));
iAuPlayUtil->OpenUrlL(_L("rtsp://rmlive.bbc.co.uk/bbc-rbs/rmlive/ev7/live24/radio1/live/r1_dsat_g2.ra"));
}
else if(iState == EPaused && iWantToPlay)
{
iAuPlayUtil->Play();
iState = EPlaying;
}
}
void CAudioPlayerAdaptor::PausePlay()
{
if(iState == EPlaying)
{
CFileLogger::WriteLogL(_L("Pause()"));
iAuPlayUtil->Pause();
iState = EPaused;
User::InfoPrint(_L("Pause"));
}
}
void CAudioPlayerAdaptor::StopPlay()
{
CFileLogger::WriteLogL(_L("Stop()"));
if(iAuPlayUtil)
{
iAuPlayUtil->Stop();
iAuPlayUtil->Close();
}
PlayCleanup();
iState = EIdle;
iWantToPlay = EFalse;
User::InfoPrint(_L("Stop"));
}
void CAudioPlayerAdaptor::ViewConstructL()
{
iAuFolderPath = KInitFolderPath;
iAuFilePath = KInitAudioPath;
}
CAudioPlayerAdaptor::CAudioPlayerAdaptor(CAudioStreamAppUi* aAppUi)
: iAuPlayUtil(0), iVolume(KMaxSound), iState(EIdle), iDialogLock(EFalse),
iAuFolderPath(0), iAuFilePath(0), iWantToPlay(EFalse)
{
iAppUi = aAppUi;
}
void CAudioPlayerAdaptor::ConstructL()
{
CFileLogger::WriteLogL(_L(""));
CFileLogger::WriteLogL(_L("Audio Streaming Example"));
TRAPD(err,
iAuPlayUtil = CMdaAudioPlayerUtility::NewL(*this, EMdaPriorityMax, EMdaPriorityPreferenceTimeAndQuality);
);
void CAudioPlayerAdaptor::MapcInitComplete(TInt aError,
const TTimeIntervalMicroSeconds& aDuration)
{
TBuf<100> log;
_LIT(Klog, "MapcInitComplete");
CFileLogger::WriteLogL(Klog);
if(aError != KErrNone)
{
_LIT(Klog1, "MapcInitComplete Error: ");
log.Copy(Klog1);
log.AppendNum(aError);
CFileLogger::WriteLogL(log);
//TBuf<20> errBuf;
//errBuf.Num(aError);
PlayCleanup();
}
else
{
TRAPD(Err1, iAuPlayUtil->SetVolume(iVolume););
_LIT(Klog1, "SetVolume Error: ");
log.Copy(Klog1);
log.AppendNum(Err1);
CFileLogger::WriteLogL(log);
TRAPD(Err,iAuPlayUtil->Play(););
_LIT(Klog2, "Play Error: ");
log.Copy(Klog2);
log.AppendNum(Err);
CFileLogger::WriteLogL(log);
iState = EPlaying;
}
}
void CAudioPlayerAdaptor::MapcPlayComplete(TInt aError)
{
TBuf<200> log;
_LIT(Klog, "MapcPlayComplete Error: ");
log.Copy(Klog);
log.AppendNum(aError);
CFileLogger::WriteLogL(log);
if(aError != KErrNone)
{
TBuf<20> errBuf;
errBuf.Num(aError);
//iEikonEnv->InfoWinL(_L("MapcPlayComplete err:"), errBuf);
}
PlayCleanup();
}
void CAudioPlayerAdaptor::PlayCleanup()
{
if(iAuPlayUtil)
{
delete iAuPlayUtil;
iAuPlayUtil = NULL;
}
iState = EIdle;
iWantToPlay = EFalse;
}
void CAudioPlayerAdaptor::ShowError(TInt aErr)
{
_LIT(KErrInfo, "Err: %d");
TBuf<20> errInfo;
errInfo.Format(KErrInfo, aErr);
User::InfoPrint(errInfo);
}
void CAudioPlayerAdaptor::MaloLoadingStarted()
{
CFileLogger::WriteLogL(_L("CAudioPlayerAdaptor::MaloLoadingStarted()"));
}
void CAudioPlayerAdaptor::MaloLoadingComplete()
{
CFileLogger::WriteLogL(_L("CAudioPlayerAdaptor::MaloLoadingComplete()"));
}