hksdk/HCISUPSDKV2.5.0.35_build202.../incCn/AudioIntercom.h

319 lines
11 KiB
C
Raw Permalink Normal View History

2023-03-23 17:39:59 +08:00
/** @File AUDIOINTERCOM.H
*
* @Note HangZhou Hikvision System Technology Co., Ltd. All Right Reserved.
*
* @Brief <EFBFBD><EFBFBD>Ƶ<EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD>
*
* @Author zhangxinyf3 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @Date 2012/4/9
*
* @Remark
*/
#ifndef _AUDIO_INTERCOM_H_
#define _AUDIO_INTERCOM_H_
#ifdef WIN32
#if defined(_WINDLL)
#define AUDIOCOM_API __declspec(dllexport)
#else
#define AUDIOCOM_API __declspec(dllimport)
#endif
#else
#ifndef __stdcall
#define __stdcall
#endif
#ifndef AUDIOCOM_API
#define AUDIOCOM_API
#endif
#endif
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_NO 1 ///<<3C>޴<EFBFBD><DEB4><EFBFBD>
#define ERROR_ALLOC_MEMORY 2 ///<<3C>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_PARAMETER 3 ///<<3C><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_CALL_ORDER 4 ///<<3C><><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_FIND_DEVICE 5 ///<<3C><><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_OPEN_DEVICE 6 ///<<3C><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_NO_CONTEXT 7 ///<<3C><EFBFBD><E8B1B8>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
#define ERROR_NO_WAVEFILE 8 ///<WAV<41>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_INVALID_TYPE 9 ///<<3C><>Ч<EFBFBD><D0A7>WAV<41><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ERROR_ENCODE_FAIL 10 ///<<3C><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
#define ERROR_DECODE_FAIL 11 ///<<3C><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
#define ERROR_NO_PLAYBACK 12 ///<<3C><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
#define ERROR_DENOISE_FAIL 13 ///<<3C><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
#define ERROR_SUPPORT 14 ///<<3C><><EFBFBD>Ͳ<EFBFBD>֧<EFBFBD><D6A7>
#define ERROR_UNKNOWN 99 ///<δ֪<CEB4><D6AA><EFBFBD><EFBFBD>
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>Ϣ<EFBFBD><EFBFBD><E1B9B9>
typedef struct _SOUND_CARD_INFO
{
char byDeviceName[128];///<<3C><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
unsigned int dwFrequency; ///<<3C>ɼ<EFBFBD>Ƶ<EFBFBD><C6B5>
unsigned int dwRefresh; ///<ˢ<><CBA2>Ƶ<EFBFBD><C6B5>
unsigned int dwSync; ///<ͬ<><CDAC>
unsigned int dwMonoSources; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
unsigned int dwStereoSources; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
unsigned int dwMajorVersion; ///<<3C><><EFBFBD><EFBFBD><E6B1BE>
unsigned int dwMinorVersion; ///<<3C>ΰ汾<CEB0><E6B1BE>
unsigned int dwReserved[16]; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}SoundCardInfo;
///<pcm <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum _CHANNEL_PCM_
{
CHANNEL_1 = 1, ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHANNEL_2 = 2 ///<˫<><CBAB><EFBFBD><EFBFBD>
}ChannelPcm;
///<λ<><CEBB>
typedef enum _BITWIDTH_PCM_
{
BITS_08 = 8, ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲻ֧<E2B2BB><D6A7>
BITS_16 = 16 ///<16λ
}BitsPcm;
///<pcm<63><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum _SAMPLERATE_PCM_
{
SAMPLERATE_08K = 8000, ///<8k<38><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SAMPLERATE_16K = 16000, ///<16k<36><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SAMPLERATE_32K = 32000, ///<32k<32><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SAMPLERATE_44K1 = 44100, ///<44.1k<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SAMPLERATE_48K = 48000 ///<48k<38><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}SampleratePcm;
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum _BITRATE_ENCODE_
{
BITRATE_ENCODE_08k = 8000, ///<8k<38><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BITRATE_ENCODE_16k = 16000, ///<16k<36><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BITRATE_ENCODE_32k = 32000, ///<32k<32><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BITRATE_ENCODE_64k = 64000, ///<64k<34><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BITRATE_ENCODE_128k = 128000 ///<128k<38><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}BitRateEncode;
///<<3C><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum _AUDIO_ENCODE_TYPE_EX
{
AUDIO_TYPE_PCM = 0x00,
AUDIO_TYPE_G711A = 0x01,
AUDIO_TYPE_G711U = 0x02,
AUDIO_TYPE_G722 = 0x03,
AUDIO_TYPE_G726 = 0x04,
AUDIO_TYPE_MPEG2 = 0x05,
AUDIO_TYPE_AAC = 0x06,
AUDIO_TYPE_G729 = 0x07,
AUDIO_TYPE_ADPCM = 0x08,
AUDIO_TYPE_G722c = 0x09,
AUDIO_TYPE_MP3 = 0x0A
}AudioEncodeTypeEx;
typedef enum _AUDIO_ENCODE_TYPE
{
AUDIO_TYPE_PCM_S16K = 0x00,
AUDIO_TYPE_G711A_S8K = 0x01,
AUDIO_TYPE_G711U_S8K = 0x02,
AUDIO_TYPE_G722_S16K = 0x03,
AUDIO_TYPE_G726_S8K = 0x04,
AUDIO_TYPE_MPEG2_S16K = 0x05,
AUDIO_TYPE_AAC_S32K = 0x06,
AUDIO_TYPE_PCM_S8K = 0x07,
AUDIO_TYPE_PCM_S32K = 0x08,
AUDIO_TYPE_AAC_S16K = 0x09,
AUDIO_TYPE_MP3_S16K = 0x0A
}AudioEncodeType;
///<<3C><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<><D7A2>pcm<63><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʡ<EFBFBD><CAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD>Ե<EFBFBD>)
typedef struct _AUDIO_PARAM_
{
unsigned short nChannel; ///<PCM<43><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short nBitWidth; ///<PCMλ<4D><CEBB>
unsigned int nSampleRate; ///<PCM<43><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int nBitRate; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AudioEncodeTypeEx enAudioEncodeTypeEx;///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}AudioParam;
///<ԭ<><D4AD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
/*****************************************************************
ԭ<EFBFBD><EFBFBD>Ƶö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, λ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIO_TYPE_MPEG2_S16K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 16000, 64000, AUDIO_TYPE_MPEG2}
AUDIO_TYPE_MP3_S16K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 16000, 64000, AUDIO_TYPE_MP3}
AUDIO_TYPE_G726_S8K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 8000, 16000, AUDIO_TYPE_G726}
AUDIO_TYPE_G722_S16K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 16000, 16000, AUDIO_TYPE_G722}
AUDIO_TYPE_G711U_S8K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 8000, 64000, AUDIO_TYPE_G711U}
AUDIO_TYPE_G711A_S8K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 8000, 64000, AUDIO_TYPE_G711A}
AUDIO_TYPE_PCM_S32K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 32000, xxxxx, AUDIO_TYPE_PCM}
AUDIO_TYPE_PCM_S8K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 8000, xxxxx, AUDIO_TYPE_PCM}
AUDIO_TYPE_AAC_S16K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 16000, 32000, AUDIO_TYPE_AAC}
AUDIO_TYPE_AAC_S32K <<EFBFBD><EFBFBD><EFBFBD><EFBFBD>> {1, 16, 32000, 32000, AUDIO_TYPE_AAC}
*****************************************************************/
///<<3C>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9>
typedef struct _OUTPUT_DATA_INFO_EX_
{
unsigned char* pData;
unsigned int dwDataLen;
AudioEncodeTypeEx enDataTypeEx;
}OutputDataInfoEx;
typedef struct _OUTPUT_DATA_INFO_
{
unsigned char* pData;
unsigned int dwDataLen;
AudioEncodeType enDataType;
}OutputDataInfo;
typedef void (__stdcall* OutputDataCallBack)(OutputDataInfo* pstDataInfo,void* pUser);
typedef void (__stdcall* OutputDataCallBackEx)(OutputDataInfoEx* pstDataInfo,void* pUser);
#ifdef __cplusplus
extern "C" {
#endif
/**********************************<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ*******************************************************************************/
///<<3C><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_GetSoundCardNum(unsigned int* pdwDeviceNum);
///<<3C><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>Ϣ
AUDIOCOM_API int __stdcall AUDIOCOM_GetOneSoundCardInfo(unsigned int dwDeviceIndex, SoundCardInfo* pstDeviceInfo);
///<<3C><>ȡ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_GetCaptureDeviceNum(unsigned int* pCaptureDeviceNum);
///<<3C><>ȡ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_GetOneCaptureDeviceName(unsigned int dwCaptureDeviceIndex, char* pCaptureDeviceName);
///<<3C><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_GetPlayDeviceNum(unsigned int* pPlayDeviceNum);
///<<3C><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_GetOnePlayDeviceName(unsigned int dwPlayDeviceIndex, char* pPlayDeviceName);
/**********************************<2A>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ӿ<EFBFBD>***************************************************************************/
///<<3C><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>˿ں<CBBF>
AUDIOCOM_API int __stdcall AUDIOCOM_CreateCaptureHandle(int* pnCapturePort, const char* pDeviceName);
///<<3C><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><E8B1B8><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>˿ں<CBBF>
AUDIOCOM_API int __stdcall AUDIOCOM_CreateCaptureHandleEx(int* pnCapturePort, const char* pCapDeviceName);
///<ע<><D7A2><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>ʽ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ɽӿ<C9BD>)
AUDIOCOM_API int __stdcall AUDIOCOM_RegisterOutputDataCallBack(int nCapturePort,
AudioEncodeType enDataType,
OutputDataCallBack pfnOutputDataCallBack,
void* pUser);
///<ע<><D7A2><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>ʽ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_RegisterOutputDataCallBackEx(int nCapturePort,
AudioParam *pstAudioParam,
OutputDataCallBackEx pfnOutputDataCallBack,
void* pUser);
///<<3C><>ʼ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_StartCapture(int nCapturePort);
///<ֹͣ<CDA3>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_StopCapture(int nCapturePort);
///<ע<><D7A2><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>(<28>ɽӿ<C9BD>)
AUDIOCOM_API int __stdcall AUDIOCOM_RegisterCaptureDataCallBack(int nCapturePort,
OutputDataCallBack pfnCaptureDataCallBack,
void* pUser);
///<ע<><D7A2><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_RegisterCaptureDataCallBackEx(int nCapturePort,
OutputDataCallBackEx pfnCaptureDataCallBack,
void* pUser);
///<<3C>ͷŲɼ<C5B2><C9BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>˿ں<CBBF>
AUDIOCOM_API int __stdcall AUDIOCOM_ReleaseCaptureHandle(int nCapturePort);
///<<3C>ͷŲɼ<C5B2><C9BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>˿ں<CBBF>
AUDIOCOM_API int __stdcall AUDIOCOM_ReleaseCaptureHandleEx(int nCapturePort);
/**********************************<2A><><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ӿ<EFBFBD>**************************************************************************/
///<<3C><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>˿ں<CBBF>
AUDIOCOM_API int __stdcall AUDIOCOM_CreatePlayHandle(int* pnPlayPort, const char* pDeviceName);
///<<3C><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>˿ں<CBBF>
AUDIOCOM_API int __stdcall AUDIOCOM_CreatePlayHandleEx(int* pnPlayPort, const char* pDeviceName);
/*
///<ָ<><D6B8><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WAV<41>ļ<EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_OpenWaveFile(int nPlayPort, const char* pFilePath);
*/
///<ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_OpenStream(int nPlayPort, AudioEncodeType enDataType);
///<ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_OpenStreamEx(int nPlayPort, AudioParam *pstAudioParam);
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_InputStreamData(int nPlayPort, unsigned char* pData, unsigned int dwDataLen);
///<<3C><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EBB2A5>
AUDIOCOM_API int __stdcall AUDIOCOM_StartPlay(int nPlayPort);
///<ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EBB2A5>
AUDIOCOM_API int __stdcall AUDIOCOM_StopPlay(int nPlayPort);
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<DDBB>(<28>ɽӿ<C9BD>)
AUDIOCOM_API int __stdcall AUDIOCOM_RegisterDecodeDataCallBack(int nPlayPort,
OutputDataCallBack pfnDecodeDataCallBack,
void* pUser);
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<DDBB>
AUDIOCOM_API int __stdcall AUDIOCOM_RegisterDecodeDataCallBackEx(int nPlayPort,
OutputDataCallBackEx pfnDecodeDataCallBack,
void* pUser);
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_SetVolume(int nPlayPort, float fVolume);
///<<3C><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_GetVolume(int nPlayPort, float* fVolume);
///<<3C>ͷŲ<CDB7><C5B2>Ž<EFBFBD><C5BD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>˿ں<CBBF>
AUDIOCOM_API int __stdcall AUDIOCOM_ReleasePlayHandle(int nPlayPort);
///<<3C>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
//AUDIOCOM_API int __stdcall AUDIOCOM_Release
/******************************************************************************************************************************/
///<<3C><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
AUDIOCOM_API int __stdcall AUDIOCOM_GetLastError(int nPort);
///<<3C><>ȡ<EFBFBD><EFBFBD><E6B1BE>
AUDIOCOM_API unsigned int __stdcall AUDIOCOM_GetVersion();
///<<3C><EFBFBD>ɼ<EFBFBD>״̬
AUDIOCOM_API int __stdcall AUDIOCOM_SetCaptureStatus(int nCapturePort, bool isPlay);
///<<3C><>ȡʣ<C8A1><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>
AUDIOCOM_API int __stdcall AUDIOCOM_GetPlayBufferRemian(int nPlayPort, int *nBufferSize);
///<<3C><EFBFBD><E8B6A8><EFBFBD><EFBFBD>״̬
AUDIOCOM_API int __stdcall AUDIOCOM_SetPlayStatus(int nPlayPort, bool isPlay);
#ifdef __cplusplus
}
#endif
#endif//_AUDIO_INTERCOM_H_