CDrmPlayerUtility Class Reference

class CDrmPlayerUtility : public CBase

Used by third party developers to play sampled audio data. The class offers a simple interface to open, play and obtain information from, sampled audio data. The audio data can be supplied either in a file (file-based), as a descriptor (descriptor-based) or as a URL reference.

DRMAudioPlayer.lib
Since
Series 60 3.0

Inherits from

Public Member Functions
~CDrmPlayerUtility ()
IMPORT_C TInt ClearPlayWindow ()
IMPORT_C void Close ()
IMPORT_C const CMMFControllerImplementationInformation & ControllerImplementationInformationL ()
IMPORT_C void CustomCommandAsync (const TMMFMessageDestinationPckg &, TInt , const TDesC8 &, const TDesC8 &, TDes8 &, TRequestStatus &)
IMPORT_C void CustomCommandAsync (const TMMFMessageDestinationPckg &, TInt , const TDesC8 &, const TDesC8 &, TRequestStatus &)
IMPORT_C TInt CustomCommandSync (const TMMFMessageDestinationPckg &, TInt , const TDesC8 &, const TDesC8 &, TDes8 &)
IMPORT_C TInt CustomCommandSync (const TMMFMessageDestinationPckg &, TInt , const TDesC8 &, const TDesC8 &)
IMPORT_C const TTimeIntervalMicroSeconds & Duration ()
IMPORT_C void GetAudioLoadingProgressL ( TInt &)
IMPORT_C TInt GetBalance ( TInt &)
IMPORT_C TInt GetBitRate ( TUint &)
IMPORT_C CMMFMetaDataEntry * GetMetaDataEntryL ( TInt )
IMPORT_C TInt GetNumberOfMetaDataEntries ( TInt &)
IMPORT_C TInt GetPosition ( TTimeIntervalMicroSeconds &)
IMPORT_C TInt GetVolume ( TInt &)
IMPORT_C TInt MaxVolume ()
IMPORT_C CDrmPlayerUtility * NewDesPlayerL (const TDesC8 &, MDrmAudioPlayerCallback &, TInt , TMdaPriorityPreference )
IMPORT_C CDrmPlayerUtility * NewDesPlayerReadOnlyL (const TDesC8 &, MDrmAudioPlayerCallback &, TInt , TMdaPriorityPreference )
IMPORT_C CDrmPlayerUtility * NewFilePlayerL (const TDesC &, MDrmAudioPlayerCallback &, TInt , TMdaPriorityPreference )
IMPORT_C CDrmPlayerUtility * NewL ( MDrmAudioPlayerCallback &, TInt , TMdaPriorityPreference )
IMPORT_C void OpenDesL (const TDesC8 &)
IMPORT_C void OpenFileL (const TDesC &)
IMPORT_C void OpenFileL (const RFile &)
IMPORT_C void OpenFileL (const TMMSource &)
IMPORT_C void OpenUrlL (const TDesC &, TInt , const TDesC8 &)
IMPORT_C TInt Pause ()
IMPORT_C void Play ()
IMPORT_C void RegisterForAudioLoadingNotification ( MAudioLoadingObserver &)
IMPORT_C TInt SetBalance ( TInt )
IMPORT_C TInt SetPlayWindow (const TTimeIntervalMicroSeconds &, const TTimeIntervalMicroSeconds &)
IMPORT_C void SetPosition (const TTimeIntervalMicroSeconds &)
IMPORT_C TInt SetPriority ( TInt , TMdaPriorityPreference )
IMPORT_C void SetRepeats ( TInt , const TTimeIntervalMicroSeconds &)
IMPORT_C void SetVolume ( TInt )
IMPORT_C void SetVolumeRamp (const TTimeIntervalMicroSeconds &)
IMPORT_C void Stop ()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Protected Attributes
CDrmAudioPlayerAdaptation * iProperties

Constructor & Destructor Documentation

~CDrmPlayerUtility()

IMPORT_C ~CDrmPlayerUtility ( )

Destructor.

Member Functions Documentation

ClearPlayWindow()

IMPORT_C TInt ClearPlayWindow ( )

Clears the current playback window.

Since
Series 60 3.0

Close()

IMPORT_C void Close ( )

Closes the current audio clip.

Since
Series 60 3.0

ControllerImplementationInformationL()

IMPORT_C const CMMFControllerImplementationInformation & ControllerImplementationInformationL ( )

Returns controller implementation parameters

Since
Series 60 3.0

CustomCommandAsync(const TMMFMessageDestinationPckg &, TInt, const TDesC8 &, const TDesC8 &, TDes8 &, TRequestStatus &)

IMPORT_C void CustomCommandAsync ( const TMMFMessageDestinationPckg & aDestination,
TInt aFunction,
const TDesC8 & aDataTo1,
const TDesC8 & aDataTo2,
TDes8 & aDataFrom,
TRequestStatus & aStatus
)

Sends a custom command asynchronously to the controller plugin

Since
Series 60 3.0

Parameters

const TMMFMessageDestinationPckg & aDestination The destination of the custom command, consisting of the unique ID of the interface of this custom command and a special handle id KMMFObjectHandleController to indicate that the custom command is to be handled by the controller plugin
TInt aFunction The function number to indicate which function is to be called on the controller's custom command interface.
const TDesC8 & aDataTo1 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL.
const TDesC8 & aDataTo2 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL
TDes8 & aDataFrom The TRequestStatus of an active object. This will contain the result of the custom command on completion. The exact range of result values is dependent on the custom command interface
TRequestStatus & aStatus

CustomCommandAsync(const TMMFMessageDestinationPckg &, TInt, const TDesC8 &, const TDesC8 &, TRequestStatus &)

IMPORT_C void CustomCommandAsync ( const TMMFMessageDestinationPckg & aDestination,
TInt aFunction,
const TDesC8 & aDataTo1,
const TDesC8 & aDataTo2,
TRequestStatus & aStatus
)

Sends a custom command asynchronously to the controller plugin

Since
Series 60 3.0

Parameters

const TMMFMessageDestinationPckg & aDestination The destination of the custom command, consisting of the unique ID of the interface of this custom command and a special handle id KMMFObjectHandleController to indicate that the custom command is to be handled by the controller plugin
TInt aFunction The function number to indicate which function is to be called on the controller's custom command interface.
const TDesC8 & aDataTo1 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL.
const TDesC8 & aDataTo2 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL
TRequestStatus & aStatus

CustomCommandSync(const TMMFMessageDestinationPckg &, TInt, const TDesC8 &, const TDesC8 &, TDes8 &)

IMPORT_C TInt CustomCommandSync ( const TMMFMessageDestinationPckg & aDestination,
TInt aFunction,
const TDesC8 & aDataTo1,
const TDesC8 & aDataTo2,
TDes8 & aDataFrom
)

Sends a custom command synchronously to the controller plugin

Since
Series 60 3.0

Parameters

const TMMFMessageDestinationPckg & aDestination The destination of the custom command, consisting of the unique ID of the interface of this custom command and a special handle id KMMFObjectHandleController to indicate that the custom command is to be handled by the controller plugin
TInt aFunction The function number to indicate which function is to be called on the controller's custom command interface.
const TDesC8 & aDataTo1 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL.
const TDesC8 & aDataTo2 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL
TDes8 & aDataFrom A reference to an area of memory to which the controller plugin will write any data to be passed back to the client. Cannot be NULL

CustomCommandSync(const TMMFMessageDestinationPckg &, TInt, const TDesC8 &, const TDesC8 &)

IMPORT_C TInt CustomCommandSync ( const TMMFMessageDestinationPckg & aDestination,
TInt aFunction,
const TDesC8 & aDataTo1,
const TDesC8 & aDataTo2
)

Sends a custom command synchronously to the controller plugin

Since
Series 60 3.0

Parameters

const TMMFMessageDestinationPckg & aDestination The destination of the custom command, consisting of the unique ID of the interface of this custom command and a special handle id KMMFObjectHandleController to indicate that the custom command is to be handled by the controller plugin
TInt aFunction The function number to indicate which function is to be called on the controller's custom command interface.
const TDesC8 & aDataTo1 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL.
const TDesC8 & aDataTo2 A reference to data to be copied to the controller plugin. The exact contents of the data are dependent on the custom command interface of the controller. Can be NULL

Duration()

IMPORT_C const TTimeIntervalMicroSeconds & Duration ( )

Returns the duration of the audio sample in microseconds.

Since
Series 60 3.0

GetAudioLoadingProgressL(TInt &)

IMPORT_C void GetAudioLoadingProgressL ( TInt & aPercentageProgress )

Gets the progress of audio loading

Since
Series 60 3.0

Parameters

TInt & aPercentageProgress Upon return, contains the percentage progress

GetBalance(TInt &)

IMPORT_C TInt GetBalance ( TInt & aBalance )

Returns the current playback balance.

Since
Series 60 3.0

Parameters

TInt & aBalance On return, contains the current balance setting

GetBitRate(TUint &)

IMPORT_C TInt GetBitRate ( TUint & aBitRate )

Returns the current bit rate

Since
Series 60 3.0

Parameters

TUint & aBitRate On return, contains the current bit rate

GetMetaDataEntryL(TInt)

IMPORT_C CMMFMetaDataEntry * GetMetaDataEntryL ( TInt aMetaDataIndex )

Returns a specified meta data entry from the audio clip.

Since
Series 60 3.0

Parameters

TInt aMetaDataIndex The index of the meta data entry to return

GetNumberOfMetaDataEntries(TInt &)

IMPORT_C TInt GetNumberOfMetaDataEntries ( TInt & aNumEntries )

Gets the number of meta data entries in the current audio clip.

Since
Series 60 3.0

Parameters

TInt & aNumEntries On return, contains the number of meta data entries

GetPosition(TTimeIntervalMicroSeconds &)

IMPORT_C TInt GetPosition ( TTimeIntervalMicroSeconds & aPosition )

Returns the current playback position in microseconds from the start of the clip.

Since
Series 60 3.0

Parameters

TTimeIntervalMicroSeconds & aPosition The number of microseconds from the start of the clip to the current play position

GetVolume(TInt &)

IMPORT_C TInt GetVolume ( TInt & aVolume )

Returns the current playback volume.

Since
Series 60 3.0

Parameters

TInt & aVolume A value between 0 (mute) and the maximum volume setting

MaxVolume()

IMPORT_C TInt MaxVolume ( )

Returns an integer representing the maximum volume that the audio clip can support.

Since
Series 60 3.0

NewDesPlayerL(const TDesC8 &, MDrmAudioPlayerCallback &, TInt, TMdaPriorityPreference)

IMPORT_C CDrmPlayerUtility * NewDesPlayerL ( const TDesC8 & aData,
MDrmAudioPlayerCallback & aCallback,
TInt aPriority,
TMdaPriorityPreference aPref
) [static]

Two-phased constructor.

Parameters

const TDesC8 & aData
MDrmAudioPlayerCallback & aCallback
TInt aPriority
TMdaPriorityPreference aPref

NewDesPlayerReadOnlyL(const TDesC8 &, MDrmAudioPlayerCallback &, TInt, TMdaPriorityPreference)

IMPORT_C CDrmPlayerUtility * NewDesPlayerReadOnlyL ( const TDesC8 & aData,
MDrmAudioPlayerCallback & aCallback,
TInt aPriority,
TMdaPriorityPreference aPref
) [static]

Two-phased constructor.

Parameters

const TDesC8 & aData
MDrmAudioPlayerCallback & aCallback
TInt aPriority
TMdaPriorityPreference aPref

NewFilePlayerL(const TDesC &, MDrmAudioPlayerCallback &, TInt, TMdaPriorityPreference)

IMPORT_C CDrmPlayerUtility * NewFilePlayerL ( const TDesC & aFileName,
MDrmAudioPlayerCallback & aCallback,
TInt aPriority,
TMdaPriorityPreference aPref
) [static]

Two-phased constructor.

Parameters

const TDesC & aFileName
MDrmAudioPlayerCallback & aCallback
TInt aPriority
TMdaPriorityPreference aPref

NewL(MDrmAudioPlayerCallback &, TInt, TMdaPriorityPreference)

IMPORT_C CDrmPlayerUtility * NewL ( MDrmAudioPlayerCallback & aCallback,
TInt aPriority,
TMdaPriorityPreference aPref
) [static]

Two-phased constructor.

Parameters

MDrmAudioPlayerCallback & aCallback
TInt aPriority
TMdaPriorityPreference aPref

OpenDesL(const TDesC8 &)

IMPORT_C void OpenDesL ( const TDesC8 & aDescriptor )

Opens an audio clip from a descriptor.

Since
Series 60 3.0

Parameters

const TDesC8 & aDescriptor The descriptor containing the audio clip

OpenFileL(const TDesC &)

IMPORT_C void OpenFileL ( const TDesC & aFileName )

Opens an audio clip from a file.

Since
Series 60 3.0

Parameters

const TDesC & aFileName The file containing the audio clip

OpenFileL(const RFile &)

IMPORT_C void OpenFileL ( const RFile & aFile )

Opens an audio clip from a file.

Since
Series 60 3.0

Parameters

const RFile & aFile The file handle of the file containing the clip

OpenFileL(const TMMSource &)

IMPORT_C void OpenFileL ( const TMMSource & aSource )

Opens an audio clip from a file.

Since
Series 60 3.0

Parameters

const TMMSource & aSource The source of the file containing the clip

OpenUrlL(const TDesC &, TInt, const TDesC8 &)

IMPORT_C void OpenUrlL ( const TDesC & aUrl,
TInt aIapId =  KUseDefaultIap ,
const TDesC8 & aMimeType =  KNullDesC8
)

Opens an audio clip from a URL.

Since
Series 60 3.0

Parameters

const TDesC & aUrl The URL of the audio clip.
TInt aIapId =  KUseDefaultIap
const TDesC8 & aMimeType =  KNullDesC8 The mime type associated with the specified URL/audio clip

Pause()

IMPORT_C TInt Pause ( )

Pauses playback of the audio clip

Since
Series 60 3.0

Play()

IMPORT_C void Play ( )

Begins playback of the initialised audio sample at the current volume and priority levels.

Since
Series 60 3.0

RegisterForAudioLoadingNotification(MAudioLoadingObserver &)

IMPORT_C void RegisterForAudioLoadingNotification ( MAudioLoadingObserver & aCallback )

Allows user to register for audio loading callback

Since
Series 60 3.0

Parameters

MAudioLoadingObserver & aCallback Reference to the client to be notified

SetBalance(TInt)

IMPORT_C TInt SetBalance ( TInt aBalance =  KMMFBalanceCenter )

Sets the current playback balance.

Since
Series 60 3.0

Parameters

TInt aBalance =  KMMFBalanceCenter The balance value to set

SetPlayWindow(const TTimeIntervalMicroSeconds &, const TTimeIntervalMicroSeconds &)

IMPORT_C TInt SetPlayWindow ( const TTimeIntervalMicroSeconds & aStart,
const TTimeIntervalMicroSeconds & aEnd
)

Defines the size of the current playback window.

Since
Series 60 3.0

Parameters

const TTimeIntervalMicroSeconds & aStart The position defining the start of the window, measured in microseconds. If this value is less than zero, it is set to zero. If this value is greater than aEnd, then it is swapped with aEnd.
const TTimeIntervalMicroSeconds & aEnd The position defining the end of the window, measured in microseconds. If this value is greater than the value returned by Duration(), it is set to the value of Duration(). If this value is less than aStart, then it is swapped with aStart.

SetPosition(const TTimeIntervalMicroSeconds &)

IMPORT_C void SetPosition ( const TTimeIntervalMicroSeconds & aPosition )

Returns the current playback position in microseconds from the start of the clip.

Since
Series 60 3.0

Parameters

const TTimeIntervalMicroSeconds & aPosition The number of microseconds from the start of the clip to the current play position

SetPriority(TInt, TMdaPriorityPreference)

IMPORT_C TInt SetPriority ( TInt aPriority,
TMdaPriorityPreference aPref
)

Set the priority for playback.

Since
Series 60 3.0

Parameters

TInt aPriority The priority level to apply, EMdaPriorityMin client can be interrupted by any other client, EMdaPriorityNormal client can only be interrupted by a client with a higher priority or EMdaPriorityMax client cannot be interrupted by other clients.
TMdaPriorityPreference aPref The time and quality preferences to apply.

SetRepeats(TInt, const TTimeIntervalMicroSeconds &)

IMPORT_C void SetRepeats ( TInt aRepeatNumberOfTimes,
const TTimeIntervalMicroSeconds & aTrailingSilence
)

Sets the number of times the audio sample should be repeated during the playback operation

Since
Series 60 3.0

Parameters

TInt aRepeatNumberOfTimes The number of times to repeat the sample. Use 0 for no repeat, KMdaRepeatForever for continuous, any other value for number of times.
const TTimeIntervalMicroSeconds & aTrailingSilence The duration of silence after the sample has played in microseconds.

SetVolume(TInt)

IMPORT_C void SetVolume ( TInt aVolume )

Changes the current playback volume to a specified value.

Since
Series 60 3.0

Parameters

TInt aVolume Any value between 0 (mute) and the maximum volume

SetVolumeRamp(const TTimeIntervalMicroSeconds &)

IMPORT_C void SetVolumeRamp ( const TTimeIntervalMicroSeconds & aRampDuration )

Changes the current playback volume to a specified value.

Since
Series 60 3.0

Parameters

const TTimeIntervalMicroSeconds & aRampDuration

Stop()

IMPORT_C void Stop ( )

Stops playback of the audio sample as soon as is possible.

Since
Series 60 3.0

Member Data Documentation

CDrmAudioPlayerAdaptation * iProperties

CDrmAudioPlayerAdaptation * iProperties [protected]

This member is internal and not intended for use.