mmaudio_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/SimpleSoundPlayer.cpp
author hgs
Tue, 02 Nov 2010 12:13:59 +0000
changeset 5 b220a9341636
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
* All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
* Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
* Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
* Description: DRM Player
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
#include "SimpleSoundPlayer.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
const TInt CSimpleSoundPlayer::KPlayerActionPlay = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
const TInt CSimpleSoundPlayer::KPlayerActionPause = 2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
const TInt CSimpleSoundPlayer::KPlayerActionStopPlayFile = 3;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
const TInt CSimpleSoundPlayer::KPlayerActionReportPosition = 4;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
const TInt CSimpleSoundPlayer::KPlayerActionReportDuration = 5;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
const TInt CSimpleSoundPlayer::KPlayerActionStopPlayDes = 6;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
const TInt CSimpleSoundPlayer::KPlayerActionReportVolume = 7;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
const TInt CSimpleSoundPlayer::KPlayerActionStopPlayUrl = 8;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
const TInt CSimpleSoundPlayer::KPlayerActionStopPlayFileHandler = 9;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
const TInt CSimpleSoundPlayer::KPlayerActionOpen = 10;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
const TInt CSimpleSoundPlayer::KPlayerActionOpenFileHandler = 11;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
const TInt CSimpleSoundPlayer::KplayerActionSetVolume = 12;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
const TInt CSimpleSoundPlayer::KplayerActionGetBalance = 13;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
const TInt CSimpleSoundPlayer::KplayerActionGetBitRate = 14;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
const TInt CSimpleSoundPlayer::KplayerActionGetAudioLoadingProgress = 15;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
const TInt CSimpleSoundPlayer::KplayerActionRegisterForAudioLoadingNotification = 16;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
const TInt CSimpleSoundPlayer::KplayerActionControllerImplementationInformation = 17;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
const TInt CSimpleSoundPlayer::KplayerActionMaxVolume = 18;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
const TInt CSimpleSoundPlayer::KplayerActionSetBalance = 19;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
const TInt CSimpleSoundPlayer::KplayerActionSetPriority = 20;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
const TInt CSimpleSoundPlayer::KplayerActionSetRepeats = 21;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
const TInt CSimpleSoundPlayer::KPlayerActionGetMetaDataEntry = 22;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
const TInt CSimpleSoundPlayer::KPlayerActionGetNumberOfMetaDataEntries = 23;
5
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
    43
const TInt CSimpleSoundPlayer::KPlayerActionCustomCommand = 24;
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
CSimpleSoundPlayer::CSimpleSoundPlayer(CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate, TBool aFileType)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
			: iConsole(aConsole) , iImmediate(aImmediate) , iLogger(aLogger) , iSoundOpen(EFalse),
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
				iFinalError(KErrNone), iFileType(aFileType)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
	iSupervisor =0 ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
	iEventTarget=0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
	iParameters =0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
	iPlayerId =0 ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
	iPlayVolume = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
	iMetaInfo = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
	iMetaInfoTest = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
	iPlayWindow = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
	iClearWindow = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
	iSetBalance = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
	iFsOpened = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
	iDontPlayAudioClip = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	iIsLoopPlayEnabled = EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
void CSimpleSoundPlayer::ConstructUrlL(const TDesC &aUrl, TInt aIapId, const TDesC8 &aMime)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
	iMdaPlayer=CDrmPlayerUtility::NewL(*this, KAudioPriorityRealOnePlayer,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
       							 TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
	//KUseDefaultIap
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
	iMdaPlayer->OpenUrlL(aUrl, aIapId, aMime );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
	iSoundOpen=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
	_LIT(KPlayerCreated, "SoundPlayerCreated");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
	iConsole.Printf(100, KPlayerCreated, KPlayerCreated);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
CSimpleSoundPlayer* CSimpleSoundPlayer::NewUrlL(const TDesC &aUrl, TInt aIapId, const TDesC8 &aMime, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
    CSimpleSoundPlayer* self = NewUrlLC(aUrl, aIapId, aMime, aConsole, aLogger, aImmediate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
	CleanupStack::Pop(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
CSimpleSoundPlayer* CSimpleSoundPlayer::NewUrlLC(const TDesC &aUrl, TInt aIapId, const TDesC8 &aMime, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
    CSimpleSoundPlayer* self = new (ELeave) CSimpleSoundPlayer(aConsole, aLogger, aImmediate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
    CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
    self->ConstructUrlL(aUrl, aIapId, aMime);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
void CSimpleSoundPlayer::ConstructL(const TDesC8 &aDescriptor)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
	// Create a file audio player utility instance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
	//iMdaPlayer=CMdaAudioPlayerUtility::NewFilePlayerL(aFile, *this);	//Para usar creación inmediata
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
	if (iImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
		if (iFileType)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
			iMdaPlayer=CDrmPlayerUtility::NewDesPlayerReadOnlyL(aDescriptor,*this, KAudioPriorityRealOnePlayer,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
			        		TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));    //For inmediate instantiation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
			iMdaPlayer=CDrmPlayerUtility::NewDesPlayerL(aDescriptor,*this, KAudioPriorityRealOnePlayer,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
						        		TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));    //For inmediate instantiation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
	/*	iMdaPlayer=CDrmPlayerUtility::NewL(*this, KAudioPriorityRealOnePlayer,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
       							 TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));		//Por Pasos
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
		iMdaPlayer->OpenDesL(aDescriptor);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
		iSoundOpen=ETrue;	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	else if (!iImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
		iMdaPlayer=CDrmPlayerUtility::NewL(*this, KAudioPriorityRealOnePlayer,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
       							 TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));		//Por Pasos
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
		iMdaPlayer->OpenDesL(aDescriptor);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
		iSoundOpen=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
	_LIT(KPlayerCreated, "SoundPlayerCreated");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	iConsole.Printf(100, KPlayerCreated, KPlayerCreated);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
CSimpleSoundPlayer* CSimpleSoundPlayer::NewL(const TDesC8 &aDescriptor, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate, TBool aDesReadOnly)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
    CSimpleSoundPlayer* self = NewLC(aDescriptor, aConsole, aLogger, aImmediate, aDesReadOnly);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	CleanupStack::Pop(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
CSimpleSoundPlayer* CSimpleSoundPlayer::NewLC(const TDesC8 &aDescriptor, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate, TBool aDesReadOnly)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
    CSimpleSoundPlayer* self = new (ELeave) CSimpleSoundPlayer(aConsole, aLogger, aImmediate, aDesReadOnly);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
    CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
    self->ConstructL(aDescriptor);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
void CSimpleSoundPlayer::ConstructL(const TFileName &aFile)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
	// Create a file audio player utility instance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
	//iMdaPlayer=CMdaAudioPlayerUtility::NewFilePlayerL(aFile, *this);	//For inmediate instantiation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
    if (iImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
        iMdaPlayer=CDrmPlayerUtility::NewFilePlayerL(aFile,*this, KAudioPriorityRealOnePlayer,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
        		TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));    //For inmediate instantiation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
    else if (!iImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
    	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
    	iImmediate = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
		iMdaPlayer=CDrmPlayerUtility::NewL(*this, KAudioPriorityRealOnePlayer,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
       							 TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));		//Instantiation by steps
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
		if (iFileType)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
			TMMFileSource FileName = aFile;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
			iLogger.Log(_L("Opening file [%S] with FileType 1") , &FileName.Name());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
//			TRAPD(err1,iMdaPlayer->OpenFileL(FileName));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
			iMdaPlayer->OpenFileL(FileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
			iLogger.Log(_L("Opening file with FileType 0"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
//			TRAPD(err,iMdaPlayer->OpenFileL(aFile));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
			iMdaPlayer->OpenFileL(aFile);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
		iSoundOpen=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
   		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
	_LIT(KPlayerCreated, "SoundPlayerCreated");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
	iConsole.Printf(100, KPlayerCreated, KPlayerCreated);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
CSimpleSoundPlayer* CSimpleSoundPlayer::NewLC(const TFileName &aFile, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate, TBool aFileType)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
    CSimpleSoundPlayer* self = new (ELeave) CSimpleSoundPlayer(aConsole, aLogger, aImmediate, aFileType);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
    CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
    self->ConstructL(aFile);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
CSimpleSoundPlayer* CSimpleSoundPlayer::NewL(const TFileName &aFile, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate, TBool aFileType)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
    CSimpleSoundPlayer* self = NewLC(aFile, aConsole, aLogger, aImmediate, aFileType);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
	CleanupStack::Pop(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
void CSimpleSoundPlayer::ConstructL(const RFile &aFile)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
	// Create a file audio player utility instance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
	//iMdaPlayer=CMdaAudioPlayerUtility::NewFilePlayerL(aFile, *this);	//For inmediate instantiation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
	// iMdaPlayer=CDrmPlayerUtility::NewL(*this, KAudioPriorityRealOnePlayer, TMdaPriorityPreference(KAudioPrefRealOneLocalPlayback));		//Instantiation by steps
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
	iMdaPlayer=CDrmPlayerUtility::NewL(*this, EMdaPriorityNormal, TMdaPriorityPreference(EMdaPriorityPreferenceTimeAndQuality));	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
	iMdaPlayer->OpenFileL(aFile);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
	iSoundOpen=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
	_LIT(KPlayerCreated, "SoundPlayerCreated");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
	iConsole.Printf(100, KPlayerCreated, KPlayerCreated);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
CSimpleSoundPlayer* CSimpleSoundPlayer::NewLC(const RFile &aFile, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
    CSimpleSoundPlayer* self = new (ELeave) CSimpleSoundPlayer(aConsole, aLogger, aImmediate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
    CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
    self->ConstructL(aFile);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
CSimpleSoundPlayer* CSimpleSoundPlayer::NewL(const RFile &aFile, CTestModuleIf &aConsole, CStifLogger &aLogger, TBool aImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
    CSimpleSoundPlayer* self = NewLC(aFile, aConsole, aLogger, aImmediate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
	CleanupStack::Pop(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
void CSimpleSoundPlayer::MdapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
	iLogger.Log(_L("MapcInitComplete"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
	if (iFsOpened)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
	    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
		iFs.Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
		iFsOpened = false;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
	    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
	if (iImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
		if (aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
			_LIT(KGonnaPlay, "MapcInitComplete, GoingToPlay");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
			_LIT(KGoing, "Going to");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
			_LIT(KDone, "Done Started Playing");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
			iConsole.Printf(100, KGonnaPlay, KGoing);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
			if (iPlayVolume)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
		//	TInt VolumeHigh;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
			iLogger.Log(_L("SetVolume") );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
			iMdaPlayer->SetVolume(iMdaPlayer->MaxVolume());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
			iLogger.Log(_L("SetVolume(iMdaPlayer->MaxVolume())  max=(%d)"),  iMdaPlayer->MaxVolume() );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
			if (iMetaInfo)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
			    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
				TInt NumMetaDatas = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
				TInt MetaDataError = iMdaPlayer->GetNumberOfMetaDataEntries(NumMetaDatas);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
				if ( MetaDataError )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
				    {	//Error getting meta data info
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
					Exit(MetaDataError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
				    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
//				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
				if (iMetaInfoTest)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
				    {	//No error yet
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
					TInt currMetaDataIndex = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
					CMMFMetaDataEntry* currMetaData = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
					for ( currMetaDataIndex=0 ; currMetaDataIndex < NumMetaDatas ; currMetaDataIndex++)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
					    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
					    currMetaData = iMdaPlayer->GetMetaDataEntryL(currMetaDataIndex);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
						iLogger.Log(_L("MetaData[%d]: Name: [%S], Value: [%S]") , currMetaDataIndex , &(currMetaData->Name()) , &(currMetaData->Value()) );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
//						currMetaData = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
					    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
					delete currMetaData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
					currMetaData = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
				    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
			    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
			if (iPlayWindow)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
			    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
				TInt err = iMdaPlayer->SetPlayWindow(iStartPosition, iEndPosition);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
				iLogger.Log(_L("SetPlayWindow, start=[%d]"),iStartPosition.Int64());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
				iLogger.Log(_L("SetPlayWindow, end=[%d]"), iEndPosition.Int64() );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
				iLogger.Log(_L("SetPlayWindow, error = [%d]"),err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
				if (iClearWindow)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
				    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
					iLogger.Log(_L("ClearPlayWindow"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
					iMdaPlayer->ClearPlayWindow();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
				    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
			    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
			if (iSetBalance)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
			    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
				SetBalance(iBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
			    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
            if (iDontPlayAudioClip)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
                {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
                iState = EReady;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
                Exit(aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
                }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
            else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
                {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
                iState = EPlaying;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
                iLastPlayTime.HomeTime();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
                iLastStopTime.HomeTime();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
                // do not manually set the position here. if play window is set then the position is set to 0 (iPosition)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
                // instead the position must be set to the play window start position otherwise it crashes. 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
                if (!iPlayWindow)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
                    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
                    iLogger.Log(_L("Position before Play (%d)"), I64INT(iPosition.Int64())/1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
                    iMdaPlayer->SetPosition(iPosition);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
                    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
                iMdaPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
                iLogger.Log(_L("Play() was called"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
                iConsole.Printf(100, KGonnaPlay, KDone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
                }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
			iLogger.Log(_L("InitError (%d)"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
			iState = ENotReady;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
			Exit(aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
		iLogger.Log(_L("InitComplete, error(%d)") , aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
		iState = aError ? ENotReady : EReady;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
		if (aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
			Exit(aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
TInt CSimpleSoundPlayer::Pause()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
	iLogger.Log(_L("Requested Pause"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
	iState=EPaused;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
	iMdaPlayer->Pause();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
	return KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
TInt CSimpleSoundPlayer::OpenL(const TFileName &aFileName , const TBool &aImmediate=ETrue)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
	TMMFileSource FileName = aFileName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
//	TMMFileSource* FileName = aFileName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
//	FileName->TMMFileSource((TDesC*)aFileName);//= (TMMSource*) aFileName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
	iImmediate = aImmediate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
//	Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
//	iLogger.Log(_L("Stop before opening file"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
	iLogger.Log(_L("Opening [%S]") , &aFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
	iMdaPlayer->OpenFileL(FileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
	iSoundOpen=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
	iLogger.Log(_L("Opened"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
	return KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
TInt CSimpleSoundPlayer::OpenFileHandlerL(const TFileName &aFileName , const TBool &aImmediate=ETrue)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
	iImmediate = aImmediate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
//	Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
//	iLogger.Log(_L("Stop before opening file"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
	iLogger.Log(_L("Opening [%S]") , &aFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
//	RFs aFs;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
//	RFile aFileHandler;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
	User::LeaveIfError(iFs.Connect());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
	iFs.ShareProtected();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
	User::LeaveIfError(iFileHandler.Open( iFs, aFileName, EFileRead));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
	iMdaPlayer->OpenFileL(iFileHandler);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
	iFileHandler.Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
	iFsOpened = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
//	aFs.Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
	iSoundOpen=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
	iLogger.Log(_L("Opened"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
	return KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
TInt CSimpleSoundPlayer::OpenUrlL(const TDesC &aUrl, TInt aIapId, const TDesC8 &aMime)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
	iLogger.Log(_L("Opening url [%S] with IapId [%s]") , &aUrl , aIapId );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
	iLogger.Log(_L8("   and MIME Type [%S]") , &aMime);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
	iMdaPlayer->OpenUrlL(aUrl, aIapId, aMime);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
	return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
TInt CSimpleSoundPlayer::OpenDesL(const TDesC8 &aSoundDes , const TBool &aImmediate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
	iImmediate = aImmediate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
	Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
	iLogger.Log(_L("Stop before opening descriptor"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
	iLogger.Log(_L("Closed, opening second descriptor of length (%d)") , aSoundDes.Length() );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
	iMdaPlayer->OpenDesL(aSoundDes);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
	iSoundOpen=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
	iLogger.Log(_L("Opened"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
	////iAutoClose = ETrue;	///K
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
	return KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
TInt CSimpleSoundPlayer::Play()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
	if(iState==EReady || iState==EPaused)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
		iState=EPlaying;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
		iLastPlayTime.HomeTime();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
		iLastStopTime.HomeTime();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
		iMdaPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
		iLogger.Log(_L("Requested Play"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
		iLogger.Log(_L("Requested Play, Not Ready to play"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
		iImmediate = true;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
	return KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
TInt CSimpleSoundPlayer::Stop(const TBool &aAlsoClose)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
	iLogger.Log(_L("Requested Stop,,,,,"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
	iMdaPlayer->Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
	iLogger.Log(_L("Requested Stop,,,,, successful"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
	iLastStopTime.HomeTime();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
	if (aAlsoClose)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
		iLogger.Log(_L("iMdaPlayer->Close()" ));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
		iMdaPlayer->Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
		iLogger.Log(_L("iMdaPlayer->Close() successful" ));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
		iSoundOpen=EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
		iState = ENotReady;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
		if (iState==EPlaying || iState==EPaused) {iState = EReady;}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
	return KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
void CSimpleSoundPlayer::MdapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
	iLastStopTime.HomeTime();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
	iLogger.Log(_L("MapcPlayComplete, error (%d)") , aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
	_LIT(KGonnaPlay, "MapcPlayComplete, GoingToPlay");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
	_LIT(KGoing, "Going to");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
	iConsole.Printf(100, KGonnaPlay, KGoing);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
	iState = aError ? ENotReady : EReady;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
	iConsole.Printf(100, KGonnaPlay, KGoing);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
	Exit(aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
	if (iEventTarget && iParameters)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
		Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
		iEventTarget->ExecuteL(iParameters) ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
CSimpleSoundPlayer::~CSimpleSoundPlayer()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
	iLogger.Log(_L("Trying to stop player") );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
	iMdaPlayer->Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
	iLogger.Log(_L("Trying to close player") );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
	iMdaPlayer->Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
	iLogger.Log(_L("  Player stopped") );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
    delete iMdaPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
    iMdaPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
	delete iEventTarget;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   463
   	delete iParameters;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   464
    delete iSupervisor;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   465
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   466
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   467
TTimeIntervalMicroSeconds CSimpleSoundPlayer::GetDuration()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   468
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   469
	TTimeIntervalMicroSeconds duration = iMdaPlayer->Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   470
	iLogger.Log(_L("CMdaAudioPlayerUtility::Duration() returned [%d]") , duration.Int64() );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   471
	return duration;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
TTimeIntervalMicroSeconds CSimpleSoundPlayer::GetPlayDuration() { return iLastStopTime.MicroSecondsFrom(iLastPlayTime); }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
TTime CSimpleSoundPlayer::GetPlayStartTime() { return iLastPlayTime; }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
TTime CSimpleSoundPlayer::GetPlayStopTime() { return iLastStopTime; }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
TInt CSimpleSoundPlayer::GetBitRate(TUint &aBitRate)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
	TInt error = iMdaPlayer->GetBitRate(aBitRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
	iLogger.Log(_L("Retrieving BitRate (%d), error(%d)") , aBitRate, error);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
	return error;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
TInt CSimpleSoundPlayer::GetBalance(TInt &aBalance)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
	TInt error = iMdaPlayer->GetBalance(aBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
	iLogger.Log(_L("Retrieving Balance (%d), error(%d)") , aBalance, error);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
	return error;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
TInt CSimpleSoundPlayer::SetBalance(TInt aBalance=KMMFBalanceCenter)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
	TInt error=KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
	TInt error2=KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
	TInt OldBalance=0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
	iLogger.Log(_L("Changing Balance "));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
	error=iMdaPlayer->GetBalance(OldBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
	if (error)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
		iLogger.Log(_L("   Error getting old balance (%d)"), error) ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
		iLogger.Log(_L("   Previous balance: %d"), OldBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
	iLogger.Log(_L("   Setting balance to %d"), aBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
	error2 = iMdaPlayer->SetBalance(aBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
	if (error2)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
		iLogger.Log(_L("   Error setting new balance (%d)") , error);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
		error=iMdaPlayer->GetBalance(OldBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
		if (error)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
			iLogger.Log(_L("   Error getting new balance (%d)"), error) ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
			iLogger.Log(_L("   Current balance: %d"), OldBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
	if (OldBalance!= aBalance)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
		Exit(-1502);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
	return error2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
TInt CSimpleSoundPlayer::SetPriority(TInt aPriority, TMdaPriorityPreference aPref)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
	iLogger.Log(_L("Trying to set priority settings to (%d),(%d) ") , aPriority, aPref);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
	TInt PriorityError = iMdaPlayer->SetPriority(aPriority, aPref);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
	if (PriorityError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
		iLogger.Log(_L("Error setting priority to (%d),(%d) ") , aPriority, aPref);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
		iLogger.Log(_L("Priority set to (%d),(%d)") , aPriority, aPref);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
	return PriorityError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
void CSimpleSoundPlayer::SetPosition(const TTimeIntervalMicroSeconds &aPosition)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
	iMdaPlayer->SetPosition(aPosition);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
TInt CSimpleSoundPlayer::GetPosition(TTimeIntervalMicroSeconds &aPosition)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
	TTimeIntervalMicroSeconds position;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
	TInt PositionError = iMdaPlayer->GetPosition(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
	if (!PositionError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
		iLogger.Log(_L("Current position [%d]") , position.Int64());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
		if (iState != EPlaying) {iLogger.Log(_L("  But not playing"));}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
		if ( ! iSoundOpen ) {iLogger.Log(_L("  But not open"));}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
		aPosition=position;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
		Exit(PositionError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
	return PositionError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
void CSimpleSoundPlayer::Exit(TInt aExitCode)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
	iFinalError = aExitCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
	if (iSupervisor)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
		iSupervisor->NotifyDestruction();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
void CSimpleSoundPlayer::SetVolumeRamp(const TTimeIntervalMicroSeconds &aRampDuration)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
	iMdaPlayer->SetVolumeRamp(aRampDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
void CSimpleSoundPlayer::SetVolume(TInt aNewVolume)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
	iMdaPlayer->SetVolume(aNewVolume);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
TInt CSimpleSoundPlayer::GetVolume(TInt &aVolume)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
	TInt VolumeError = iMdaPlayer->GetVolume(aVolume);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
	if (VolumeError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
		iLogger.Log(_L("Error (%d) getting volume") , VolumeError );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
		iLogger.Log(_L("Getting volume: (%d)") , aVolume);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
	return VolumeError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
TInt CSimpleSoundPlayer::MaxVolume()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
	return iMdaPlayer->MaxVolume();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
void CSimpleSoundPlayer::SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds &aTrailingSilence)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
	iMdaPlayer->SetRepeats(aRepeatNumberOfTimes , aTrailingSilence);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
	if ((aRepeatNumberOfTimes == -2) || (aRepeatNumberOfTimes > 0))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
	    iIsLoopPlayEnabled = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
	    iIsLoopPlayEnabled = EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
void CSimpleSoundPlayer::RegisterForAudioLoadingNotification(MAudioLoadingObserver &aLoadingObserver)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
	iMdaPlayer->RegisterForAudioLoadingNotification(aLoadingObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
void CSimpleSoundPlayer::GetAudioLoadingProgressL(TInt& aPercentageProgress)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
	iMdaPlayer->GetAudioLoadingProgressL(aPercentageProgress);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
void CSimpleSoundPlayer::ControllerImplementationInformationL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
	//int g=0,a;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
	const CMMFControllerImplementationInformation& x = iMdaPlayer->ControllerImplementationInformationL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
	/*const CMMFControllerImplementationInformation* ControllerImplementationInformation;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
	ControllerImplementationInformation = &(iMdaPlayer->ControllerImplementationInformationL());*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
	//g=a;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
TInt CSimpleSoundPlayer::SetPlayWindow(const TTimeIntervalMicroSeconds &aStart, const TTimeIntervalMicroSeconds &aEnd)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
	iLogger.Log(_L("iMdaPlayer->SetPlayWindow() Start[%d] End[%d]"), aStart.Int64(), aEnd.Int64());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
	return iMdaPlayer->SetPlayWindow(aStart, aEnd);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
TInt CSimpleSoundPlayer::ClearPlayWindow()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
	iLogger.Log(_L("iMdaPlayer->ClearPlayWindow()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
	return iMdaPlayer->ClearPlayWindow();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
void CSimpleSoundPlayer::SetSupervisor(TObjectCountDown *aCounter)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
	iSupervisor = aCounter;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
	iSupervisor->NotifyCreation();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
void CSimpleSoundPlayer::SetPlayCompleteTarget(MEventTarget *aTarget, CParameters *aParameters)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
	iEventTarget = aTarget;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
	iParameters = aParameters;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
TInt CSimpleSoundPlayer::GetNumberOfMetaDataEntries(TInt &aNumEntries)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
	TInt ErrorCode = iMdaPlayer->GetNumberOfMetaDataEntries(aNumEntries);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
	if (ErrorCode)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
		iLogger.Log(_L("Error (%d) getting number of meta data entries") , ErrorCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
		iLogger.Log(_L("Clip has (%d) meta data entries") , aNumEntries);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   683
	return ErrorCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   684
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   685
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   686
CMMFMetaDataEntry *CSimpleSoundPlayer::GetMetaDataEntryL(TInt aMetaDataIndex)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   687
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   688
	iLogger.Log(_L("Obtaining meta data with index (%d)") , aMetaDataIndex);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   689
	return iMdaPlayer->GetMetaDataEntryL(aMetaDataIndex);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   690
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   691
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   692
TInt CSimpleSoundPlayer::ExecuteL(CParameters *aParams)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   693
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   694
    TInt newVolume = 2000;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   695
    TInt balance=0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   696
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   697
    TInt priority=EMdaPriorityNormal;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   698
	TMdaPriorityPreference aPref=EMdaPriorityPreferenceTime;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   699
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   700
    TInt repeatNumberOfTimes=3;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   701
    TTimeIntervalMicroSeconds SilenceDuration = (TTimeIntervalMicroSeconds ((TInt64)500000));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   702
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   703
	switch (aParams->iAction)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   704
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   705
		case KPlayerActionPause:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   706
		    iLogger.Log(_L("CSimpleSoundPlayer::ExecuteL "));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   707
			Pause();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   708
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   709
		case KPlayerActionPlay:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   710
			Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   711
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   712
		case KPlayerActionStopPlayFile:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   713
		//	OpenL( (static_cast<CFileNameParameters*>(aParams) )->GetFileName() , ETrue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   714
			Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   715
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   716
		case KPlayerActionReportPosition:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   717
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   718
			TTimeIntervalMicroSeconds tmpPosition=TTimeIntervalMicroSeconds(0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   719
			GetPosition(tmpPosition);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   720
			return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   721
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   722
			//break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   723
		case KPlayerActionReportDuration:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   724
			GetDuration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   725
			return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   726
			//break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   727
        case KplayerActionMaxVolume:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   728
            MaxVolume();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   729
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   730
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   731
        case KplayerActionSetVolume:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   732
            SetVolume(newVolume);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   733
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   734
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   735
        case KplayerActionSetBalance:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   736
            SetBalance(balance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   737
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   738
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   739
        case KplayerActionGetBalance:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   740
            GetBalance(iBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   741
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   742
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   743
        case KplayerActionGetBitRate:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   744
        	TUint bitRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   745
            GetBitRate(bitRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   746
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   747
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   748
        case KplayerActionSetPriority:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   749
        	SetPriority(priority, aPref);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   750
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   751
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   752
        case KplayerActionSetRepeats:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   753
            SetRepeats(repeatNumberOfTimes, SilenceDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   754
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   755
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   756
        case KPlayerActionGetMetaDataEntry:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   757
            SetVolume(newVolume);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   758
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   759
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   760
        case KPlayerActionGetNumberOfMetaDataEntries:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   761
            SetVolume(newVolume);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   762
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   763
           // break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   764
        case KplayerActionGetAudioLoadingProgress:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   765
            TInt percentageProgress;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   766
            GetAudioLoadingProgressL(percentageProgress);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   767
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   768
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   769
        case KplayerActionRegisterForAudioLoadingNotification:
5
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   770
       	
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   771
        	RegisterForAudioLoadingNotification(*this);
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   772
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   773
            //break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   774
        case KplayerActionControllerImplementationInformation:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   775
            ControllerImplementationInformationL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   776
            return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   777
           // break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   778
		case KPlayerActionStopPlayDes:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   779
			OpenDesL( (static_cast<CDes8Parameters *>(aParams) )->GetDes8() , ETrue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   780
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   781
		case KPlayerActionReportVolume:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   782
			TInt tmpVolume;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   783
			GetVolume(tmpVolume);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   784
			return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   785
			//break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   786
		case KPlayerActionStopPlayUrl:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   787
		   CUrlParameters *p;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   788
			 p = static_cast<CUrlParameters *>(aParams);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   789
			 OpenUrlL(p->GetUrl() , p->GetIapId() , p->GetMimeType() );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   790
			 break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   791
		case KPlayerActionStopPlayFileHandler:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   792
			Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   793
		//	OpenFileHandlerL((static_cast<CFileNameParameters*>(aParams) )->GetFileName() , ETrue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   794
		//	OpenFileHandlerL( (static_cast<CFileHandlerParameters*>(aParams) )->GetFileHandler() , ETrue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   795
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   796
		case KPlayerActionOpen:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   797
			OpenL( (static_cast<CFileNameParameters*>(aParams) )->GetFileName() , ETrue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   798
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   799
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   800
		case KPlayerActionOpenFileHandler:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   801
			OpenFileHandlerL((static_cast<CFileNameParameters*>(aParams) )->GetFileName() , ETrue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   802
			break;
5
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   803
		case KPlayerActionCustomCommand:
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   804
		    CustomCommand();
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   805
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   806
	if (iIsLoopPlayEnabled)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   807
	    return ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   808
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   809
	    return EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   810
	}
5
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   811
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   812
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   813
void CSimpleSoundPlayer::MaloLoadingStarted()
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   814
    {
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   815
     iLogger.Log(_L("CSimpleSoundPlayer::MaloLoadingStarted"));
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   816
    }
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   817
void CSimpleSoundPlayer::MaloLoadingComplete()
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   818
    {
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   819
    iLogger.Log(_L("CSimpleSoundPlayer::MaloLoadingComplete"));
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   820
    }
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   821
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   822
void CSimpleSoundPlayer::CustomCommand()
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   823
    {
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   824
          TBuf8<25> dataFrom;
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   825
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   826
            TRequestStatus status;
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   827
            TMMFMessageDestinationPckg dummyPckg;
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   828
            TInt dummyFunc = 100;
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   829
            TBuf8<8> dummyBuff;
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   830
            iMdaPlayer->CustomCommandSync(dummyPckg,dummyFunc,dummyBuff,dummyBuff);
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   831
            iMdaPlayer->CustomCommandSync(dummyPckg,dummyFunc,dummyBuff,dummyBuff,dataFrom);
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   832
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   833
            iMdaPlayer->CustomCommandAsync(dummyPckg,dummyFunc,dummyBuff,dummyBuff,status);
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   834
            User::WaitForRequest(status);
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   835
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   836
            iMdaPlayer->CustomCommandAsync(dummyPckg,dummyFunc,dummyBuff,dummyBuff,dataFrom,status);
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   837
           
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   838
            User::WaitForRequest(status);
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   839
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   840
            
b220a9341636 2010wk46_01
hgs
parents: 0
diff changeset
   841
    }