319 lines
11 KiB
C
319 lines
11 KiB
C
|
/** @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_
|