📄 gb_sound.cpp
字号:
// gb_SOUND.CPP
#include "gb_Sound.h"
#include <e32svr.h>
_LIT(KAudioApi2,"WILDSOUNDAPI2");
_LIT(KStreamPlayer,"Stream");
CGBSound::CGBSound()
{
iSoundOn = ETrue;
}
CGBSound::~CGBSound()
{
CloseAudio();
}
void CGBSound::ConstructL()
{
GetAudioL();
StartAudio();
}
void CGBSound::GetAudioL()
{
iAudio = NULL;
TInt err= iAudioLib.Load(KAudioApi2);
if (err != KErrNone)
{
return;
}
CleanupClosePushL(iAudioLib);
TLibraryFunction func = iAudioLib.Lookup(1);
iAudio = (MAudioBase*)(func());
CleanupStack::Pop(); //iLib
}
void CGBSound::StartAudio()
{
if (iAudio)
{
TInt err = iAudio->Connect(2);
if (err != KErrNone)
{
iAudio->Close();
iAudio = NULL;
return;
}
err = iAudio->LoadAudioPlayer(KStreamPlayer);
if (err != KErrNone)
{
iAudio->Close();
iAudio = NULL;
return;
}
iAudio->Play();
iAudio->Command(1, 1);
iConnected = ETrue;
}
}
void CGBSound::CloseAudio()
{
if (iAudio)
{
iAudio->Stop();
iAudio->Close();
delete iAudio;
iAudio = NULL;
}
}
TBool CGBSound::SubmitAudio(char* aPtr, TInt aLen)
{
if (iAudio && iSoundOn && !iSoundHasTerminated)
{
TInt err = iAudio->Message(1, TPtrC16((unsigned short*)aPtr, aLen));
if (err == KErrNotReady)
{
iSoundHasTerminated = ETrue;
return ETrue;
}
}
return EFalse;
}
TBool CGBSound::IsSoundOn()
{
if (iConnected && iSoundOn)
{
return ETrue;
}
return EFalse;
}
void CGBSound::SetSoundOn(TBool aTrue)
{
iSoundOn = aTrue;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -