tone.cpp

来自「基于Symbian OS的手机开发与应用:第10章基本图形声音习题源程序。」· C++ 代码 · 共 81 行

CPP
81
字号
/* Copyright (c) 2006, Nokia Mobile Phones. All rights reserved */

#include "Tone.h"

_LIT(KWavFile,"c:\\system\\apps\\sound\\music.wav");
const TInt KFrequency = 100;
const TInt64 KInterval = 4000000;


Tone* Tone::NewL(MMusicObserver& aObserver)
    {
    Tone* self = NewLC(aObserver);
    CleanupStack::Pop(self);
    return self;
    }
    
Tone* Tone::NewLC(MMusicObserver& aObserver)
    {
    Tone* self = new (ELeave) Tone(aObserver);
    CleanupStack::PushL(self);
    self->ConstructL();
    return self;
    }
Tone::Tone(MMusicObserver& aObserver):iObserver(aObserver)
	{
	}

Tone::~Tone()
    {
    }


void Tone::ConstructL()
    {
    }

void Tone::StopL()
{
	if(iPlayer)
	{
     iPlayer->Stop();
	 delete iPlayer;
	 iPlayer=NULL;
	 iObserver.HandelPlayStopL();
	}
}


void Tone::PlayL()
{
iPlayer=CMdaAudioPlayerUtility::NewFilePlayerL(KWavFile,*this);
}

void Tone::MapcInitComplete(TInt aError,const TTimeIntervalMicroSeconds& /*aDuration*/)
{
	if(aError==KErrNone)
	{
		iPlayer->SetVolume(iPlayer->MaxVolume());
		iPlayer->Play();
	}
	else
	{
		iPlayer->Stop();
		iObserver.HandelPlayStopL();
	}
}

void Tone::MapcPlayComplete(TInt aError)
{
  	if(aError==KErrNone)
	{
		delete iPlayer;
		iPlayer=NULL;
		iObserver.HandelPlayStopL();
	}
	else
	{
		iPlayer->Stop();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?