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

📄 audio2eng.h

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

#ifndef __Audio2ENG_H__
#define __Audio2ENG_H__

#include <eikapp.h>
#include <MdaAudioSampleEditor.h>
#include <eikmenup.h>
#include <badesca.h>
#include <mmf\common\mmfcontrollerpluginresolver.h>

class CAudio2Ui;

class CAudio2Engine : public CBase, public MMdaObjectStateChangeObserver
    {
public:
    static CAudio2Engine* NewL( CAudio2Ui& aAppUi);
    static CAudio2Engine* NewLC(CAudio2Ui& aAppUi);
    ~CAudio2Engine();

public:
	void NewRecordL(const TDesC& aFileName);
    void PlayL();
    void StopL();
    void UpdateMenu(CEikMenuPane* aMenuPane);
	void StartRecordingL();
	void ConvertL(TPtrC aExt, TInt aCodecIndex, TInt aSampleRateIndex, TInt aChannelsIndex);
	void OpenConverterL(TPtrC aExt);
	void GetFormatsL(TPtrC aExt);


public: // from MMdaObjectStateChangeObserver
	virtual void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);

	void RecordTypesL(CDesCArray& aTypeArray);

	void SetArrays(RArray<TFourCC>* aDataTypes,
						 RArray<TUint>* aSampleRates,
						 RArray<TUint>* aChannels);
private:
    CAudio2Engine(CAudio2Ui& aAppUi);
	void Convert2L();
	void GetFormats2L();
    void ConstructL();

private:
    enum TState
        {
        ENotReady,
        EReady,
        EPlaying,
		ERecording,
		EConverting,
		EOpeningConverter,
		EGettingConversionFormats
        };
    
	TBool iRecorded;
	TBool iConversionTypes;

    TState iState;
    CMdaAudioRecorderUtility* iUtility;
	CMdaAudioConvertUtility* iConverter;
	CAudio2Ui& iAppUi;

//convert to types
	RArray<TFourCC>* iDataTypes;
	RArray<TUint>* iSampleRates;
	RArray<TUint>* iChannels;

	TInt iCodecIndex;
	TInt iSampleRatesIndex;
	TInt iChannelsIndex;
    };

#endif // __Audio2ENG_H__

⌨️ 快捷键说明

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