#ifndef _LIB_AUDIO_NS_H_ #define _LIB_AUDIO_NS_H_ #include #include "iaudionsinterface.h" #include "noise_suppression.h" class AudioNsImpl : public IAudioNs { public: AudioNsImpl(audions_callback_t* pCallback); ~AudioNsImpl(); virtual int SetNsParams(uint32_t uSampleRate, uint32_t uAudioCapturePeroid, int iMode); virtual int NsProcess(char* pDst, uint32_t uDstLen, char* pSrc, uint32_t uSrcLen); virtual void ReleaseObj(); private: int NsProcess8kAudioSampleRate(char* pDst, uint32_t uDstLen, char* pSrc, uint32_t uSrcLen); int NsProcess16kAudioSampleRate(char* pDst, uint32_t uDstLen, char* pSrc, uint32_t uSrcLen); int NsProcess32kAudioSampleRate(char* pDst, uint32_t uDstLen, char* pSrc, uint32_t uSrcLen); int NsProcess48kAudioSampleRate(char* pDst, uint32_t uDstLen, char* pSrc, uint32_t uSrcLen); void NsLog(const char* fmt, ...); private: NsHandle *m_NsHandle; uint32_t m_audio_sample_rate; //单位HZ uint32_t m_audio_capture_peroid; //单位ms int m_ns_policy; audions_callback_t m_nscallback; }; #endif