00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __UAPI__DEVICESPEAKER
00021 #define __UAPI__DEVICESPEAKER
00022
00023 #include "exports.h"
00024 #include "ReturnCode.h"
00025 #include "Codec.h"
00026 #include "Singleton.h"
00027 #include "SmartProxy.h"
00028
00029
00030 namespace android
00031 {
00032 namespace speech
00033 {
00034 namespace recognition
00035 {
00036 class DeviceSpeakerListenerProxy;
00037 class System;
00038 class AudioStreamProxy;
00039 }
00040 }
00041 }
00042 namespace android
00043 {
00044 namespace speech
00045 {
00046 namespace recognition
00047 {
00048 class DeviceSpeakerProxy;
00052 class DeviceSpeaker : public Singleton
00053 {
00054 public:
00061 UAPI_EXPORT static DeviceSpeakerProxy getInstance(ReturnCode::Type& returnCode);
00062
00072 virtual void start(AudioStreamProxy& audio, ReturnCode::Type& returnCode) = 0;
00073
00080 virtual void stop(ReturnCode::Type& returnCode) = 0;
00081
00088 virtual void setCodec(Codec::Type playbackCodec, ReturnCode::Type& returnCode) = 0;
00089
00096 virtual void setListener(DeviceSpeakerListenerProxy& listener, ReturnCode::Type& returnCode) = 0;
00097
00098 protected:
00102 DeviceSpeaker();
00106 virtual ~DeviceSpeaker();
00107
00111 static DeviceSpeaker* instance;
00112
00113 friend class DeviceSpeakerProxy;
00114 };
00115
00116
00117
00118
00119 DECLARE_SMARTPROXY(UAPI_EXPORT, DeviceSpeakerProxy, SmartProxy, DeviceSpeaker)
00120 }
00121 }
00122 }
00123
00124 #endif