I'm create play file *.mp3:

#ifndef AUDIO_H_
#define AUDIO_H_
#include <MdaAudioSamplePlayer.h>

// CLASS DECLARATION

class CAudio : public CBase, public MMdaAudioPlayerCallback
{
public: // Constructors and destructor
static CAudio* NewL(const TDesC& aFileName);
static CAudio* NewLC(const TDesC& aFileName);
~CAudio();

public: // New methods

void Play();
void Stop();
void SetVolume(TInt aVolume);
private:
CAudio();
void ConstructL(const TDesC& aFileName);

private:// From MMidiClientUtilityObserver
void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
void MapcPlayComplete(TInt aError);

private: // Member variables
CMdaAudioPlayerUtility* iPlayUtility;
};

#endif /* AUDIO_H_ */

#include <eikenv.h>
#include "Audio.h"


CAudio::CAudio()
{
}

CAudio::~CAudio()
{
if(iPlayUtility)
{
iPlayUtility->Stop();
// iPlayUtility->Close();
}
delete iPlayUtility;
}

CAudio* CAudio::NewLC(const TDesC& aFileName)
{
CAudio* self = new (ELeave) CAudio();
CleanupStack::PushL(self);
self->ConstructL(aFileName);
return self;
}

CAudio* CAudio::NewL(const TDesC& aFileName)
{
CAudio* self = CAudio::NewLC(aFileName);
CleanupStack::Pop(self);
return self;
}

void CAudio::ConstructL(const TDesC& aFileName)
{
iPlayUtility = CMdaAudioPlayerUtility::NewFilePlayerL(aFileName, *this);
}

void CAudio::Play()
{
iPlayUtility->Play();
}

void CAudio::Stop()
{
iPlayUtility->Stop();
}

void CAudio::MapcPlayComplete(TInt /*aError*/)
{
iPlayUtility->Play();
}

void CAudio::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
{
if(aError == KErrNone)
{
//iPlayUtility->SetVolume(iPlayUtility->MaxVolume()/8);
}
}

void CAudio::SetVolume(TInt aVolume)
{
if (aVolume == 1)
{
iPlayUtility->SetVolume(iPlayUtility->MaxVolume());
}
else
{
iPlayUtility->SetVolume(aVolume);
}
}
in My class, i call class CAudio.

iaudio = CAudio::NewL("C:\\1.mp3");
iaudio->SetVolume(1);
iaudio->Play();
I'm debug. When it implement line "iaudio->SetVolume(1);", app Error "MMFaudioClient 4".
Can anyone help me!