diff -r 000000000000 -r 40261b775718 mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteagents/inc/audioplayagent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteagents/inc/audioplayagent.h Tue Feb 02 01:56:55 2010 +0200 @@ -0,0 +1,98 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// Part of the MVS Agents for TechView +// + +#include +#include +#include + +#ifndef MVSAUDIOPLAYAGENT_H +#define MVSAUDIOPLAYAGENT_H + +/** +@publishedPartner +@prototype +@test + +Provides Audio playing functionality for the UI/Client + +*/ +class CMVSAudioPlayAgent : public CBase, MMdaAudioPlayerCallback, MMMFAudioResourceNotificationCallback + { + public: + IMPORT_C static CMVSAudioPlayAgent* NewL(MMVSClientObserver& aObserver); + IMPORT_C ~CMVSAudioPlayAgent(); + + //opens an audio clip for playback + IMPORT_C void OpenFileL(TDesC& aFile); + //opens DRM protected source + IMPORT_C void OpenFileL(TMMSource &aSource); //Added for future support + IMPORT_C void OpenDesL(const TDesC8 &aDescriptor); //Added for future support + + IMPORT_C void Play(); + IMPORT_C void Stop(); + IMPORT_C TInt Pause(); + IMPORT_C void Forward(); //Added for future support + IMPORT_C void Rewind(); //Added for future support + + //Setter Methods + + IMPORT_C void SetVolume(TInt aVolume, TTimeIntervalMicroSeconds aRamp); + IMPORT_C void SetPosition(TTimeIntervalMicroSeconds aPosition); + IMPORT_C void SetRepeats(TInt aNoRepeats, TTimeIntervalMicroSeconds aDelay); + IMPORT_C TInt SetBalance(TInt aBalance); + IMPORT_C TInt SetPlayWindow(TTimeIntervalMicroSeconds aStart, TTimeIntervalMicroSeconds aEnd); + IMPORT_C TInt SetPriority(TInt aPriority, TMdaPriorityPreference aPref); + IMPORT_C TInt ClearPlayWindow(); + + //closes the current audio clip + + IMPORT_C void Reset(); + IMPORT_C void SetAutoPauseResume(TBool aEnable); + + //Getter Methods + + IMPORT_C TTimeIntervalMicroSeconds GetPosition(TTimeIntervalMicroSeconds& aPosition); + IMPORT_C TInt GetVolume(TInt& aVolume); + IMPORT_C TInt MaxVolume(); + IMPORT_C TTimeIntervalMicroSeconds Duration(); + IMPORT_C TInt GetBalance(TInt& aBalance); + IMPORT_C void GetMetaArrayL(RPointerArray& aMetaarray); + IMPORT_C TInt GetBitRate(TUint& aBitRate); + + //Returns Implementation Info object of the controller is currently loaded + + IMPORT_C const CMMFControllerImplementationInformation& GetControllerInfoL(); + IMPORT_C TMVSState GetState(); + private: + void ConstructL();//create playerutility here + CMVSAudioPlayAgent(MMVSClientObserver& aObserver); + + //from MMdaAudioPlayerCallback + + void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds &aDuration); + void MapcPlayComplete(TInt aError); + + //from MMMFAudioResourceNotificationCallback + + void MarncResourceAvailable(TUid aNotificationEventId, const TDesC8& aNotificationData); + private: + CMdaAudioPlayerUtility* iPlayer; + MMVSClientObserver& iObserver; + TMVSState iState; + RFileLogger iFileLogger; + }; + +#endif MVSAUDIOPLAYAGENT_H