00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __UAPI__MICROPHONE
00021 #define __UAPI__MICROPHONE
00022
00023 #include "exports.h"
00024 #include "AudioSource.h"
00025 #include "Codec.h"
00026 #include "Singleton.h"
00027 #include "SmartProxy.h"
00028
00029 namespace android
00030 {
00031 namespace speech
00032 {
00033 namespace recognition
00034 {
00035 class AudioSourceListenerProxy;
00036 class System;
00037 }
00038 }
00039 }
00040
00041
00042 namespace android
00043 {
00044 namespace speech
00045 {
00046 namespace recognition
00047 {
00048 class MicrophoneProxy;
00052 class Microphone: public AudioSource, public Singleton
00053 {
00054 public:
00061 UAPI_EXPORT static MicrophoneProxy getInstance(ReturnCode::Type& returnCode);
00062
00069 virtual void setCodec(Codec::Type recordingCodec, ReturnCode::Type& returnCode) = 0;
00070
00077 virtual void setListener(AudioSourceListenerProxy& listener, ReturnCode::Type& returnCode) = 0;
00078
00079 protected:
00083 Microphone();
00087 virtual ~Microphone();
00088
00092 static Microphone* instance;
00093 private:
00097 Microphone& operator=(Microphone&);
00098
00099 friend class MicrophoneProxy;
00100 };
00101
00105 DECLARE_SMARTPROXY(UAPI_EXPORT, MicrophoneProxy, AudioSourceProxy, Microphone)
00106 }
00107 }
00108 }
00109
00110 #endif