⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audio3ui.cpp

📁 Symbian OS C++ 程序开发事例
💻 CPP
字号:
/* Copyright (c) 2004, Symbian Software Ltd. All rights reserved */

#include "Audio3.pan"
#include "Audio3ui.h"
#include "Audio3view.h"
#include <gdi.h>
#include "Audio3.hrh"
#include <Audio3.rsg>
#include "Audio3eng.h"

//number editor
#include <eikmfne.h>

#include <eikmenup.h>

_LIT(KNoStream, "Choose stream");
_LIT(KSynchronous, "Synchronous");
_LIT(KAsynchronous, "Asynchronous");

void CAudio3Ui::ConstructL()
   	{
    BaseConstructL();
    iAppView = CAudio3View::NewL(ClientRect());  
	iAppView->UpdateLabelL(KNoStream);
    AddToStackL(iAppView);

	iEngine=CAudio3Engine::NewL(*this);
    }

CAudio3Ui::CAudio3Ui()                              
    {
    }

CAudio3Ui::~CAudio3Ui()
    {
    if (iAppView)
        RemoveFromStack(iAppView);

    delete iAppView;
    iAppView = NULL;

	delete iEngine;
	iEngine=NULL;
    }

/*
TKeyResponse CAudio3Ui::HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
	{
	return EKeyWasNotConsumed;
	}
*/

void CAudio3Ui::HandleCommandL(TInt aCommand)
	{
	switch(aCommand)
		{
	case ECmdSynchronous:
		iEngine->CreateSynchronousExample();
		UpdateViewL(ESynchronous);
		break;
	
	case ECmdAsynchronous:
		iEngine->CreateAsynchronousExample();
		UpdateViewL(EAsynchronous);
		break;

	case ECmdPlay:
		iEngine->PlayL();
		break;

	case ECmdStop:
		iEngine->StopL();
		break;

	case EEikCmdExit:
		Exit();
		break;

	default:
		User::Invariant();
		break;
		}
	}

//void CAudio3Ui::PlayFileDialogL()
//	{
//	TBuf<128> fileName;
//	AknCommonDialogs::RunSelectDlgLD (fileName, 
//		R_DEFAULT_LOCATION);
//	};

void CAudio3Ui::DynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane)
    {
    if (aMenuId == R_AUDIO3_MENU)
        iEngine->UpdateMenu(aMenuPane);
    }

void CAudio3Ui::UpdateViewL(TInt aState)
    {
	switch (aState)
		{
		case ENoStream:
			iAppView->UpdateLabelL(KNoStream);
			break;
		case ESynchronous:
			iAppView->UpdateLabelL(KSynchronous);
			break;
		case EAsynchronous:
			iAppView->UpdateLabelL(KAsynchronous);
			break;
		default:
			User::Invariant();
		};
    iAppView->DrawNow();
    }

⌨️ 快捷键说明

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