CorpSms/UBox/phonic_ubox.h

624 lines
21 KiB
C
Raw Normal View History

2025-02-27 16:58:16 +08:00
#ifndef __PHONIC_UBOX_INCLUDE__
#define __PHONIC_UBOX_INCLUDE__
#ifndef WINVER
#define WINVER 0x0501
#endif
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
#define WIN32_LEAN_AND_MEAN // <20><> Windows ͷ<><CDB7><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
#include <windows.h>
#include <iostream>
/*
#ifdef PHONIC_UBOX_EXPORTS
#define PHONIC_UBOX_API extern "C" __declspec(dllexport)
#else
#define PHONIC_UBOX_API extern "C" __declspec(dllimport)
#endif
*/
#ifdef __cplusplus
extern "C" {
#endif
typedef unsigned long UBOX_HANDLE;
#define INVALID_UBOX_HANDLE (UBOX_HANDLE)(-1)
#define VOICE_FRAME_TIME 20 //<2F><><EFBFBD><EFBFBD>֡ʱ<D6A1><EFBFBD><E4A3AC>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/* ---------------------------------------------
BusyInfo.busy_dual_frequency = 0;
BusyInfo.busy_frequency0 = 450;
BusyInfo.busy_frequency1 = 420;
BusyInfo.busy_on = 35;
BusyInfo.busy_off = 35;
BusyInfo.busy_on_off_error = 5;
BusyInfo.busy_enery_gate = 12;
BusyInfo.busy_period_count = 3;
*/
struct tagBusyInfo
{
long busy_dual_frequency;
long busy_frequency0;
long busy_frequency1;
long busy_on;
long busy_off;
long busy_on_off_error;
long busy_enery_gate;
long busy_period_count;
};
typedef enum ENUM_VOICE_CODER
{
CODER_ALAW = 0,
CODER_PCM = 1,
CODER_G729 = 3,
CODER_SPEEX = 20,
CODER_MP3 = 38,
CODER_ULAW = 100,
}VOICE_CODER;
typedef enum ENUM_UBOX_WORK_MODE
{
UBOX_MODE_RECORD = 0, //¼<><C2BC>ģʽ<C4A3><CABD> ͨ<><CDA8>ʹ<EFBFBD>õ<EFBFBD>ģʽ
UBOX_MODE_DIAG = 1, //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD> <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>źŷ<C5BA><C5B7><EFBFBD>֮<EFBFBD>ã<EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EBB7BD><CABD>CODER_PCM
UBOX_MODE_CONFIG = 2, //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>
}UBOX_WORK_MODE;
typedef enum ENUM_UBOX_STATE
{
UBOX_STATE_PLUG_OUT = 0, //<2F>޴<EFBFBD><DEB4><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѱ<EFBFBD><D1B1>γ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD>γ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> stop_record()<29><><EFBFBD><EFBFBD>Ϊ phonic_ubox <20>Ѿ<EFBFBD><D1BE>Զ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>!
UBOX_STATE_RESET = 1, //<2F><>λ̬<CEBB><CCAC><EFBFBD><EFBFBD>ʾ<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>ժ<EFBFBD><D5AA><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰΪ<C7B0><CEAA><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰΪժ<CEAA><D5AA>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʾ<EFBFBD>ѹһ<D1B9><D2BB><EFBFBD>
UBOX_STATE_RINGING = 2, //<2F><><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>ʾ<EFBFBD>Ѽ<EFBFBD><D1BC><EFBFBD><E2B5BD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>źţ<C5BA><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD>򽫴<EFBFBD><F2BDABB4><EFBFBD> UBOX_EVENT_RESET <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨 UBOX_STATE_RESET ״̬<D7B4><CCAC>
UBOX_STATE_HOOK_OFF = 3, //<2F><><EFBFBD><EFBFBD><EFBFBD><E7BBB0>ժ<EFBFBD><D5AA>
UBOX_STATE_HANG = 4, //<2F><><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>
UBOX_STATE_IDLE = 5,
UBOX_STATE_REVERSE_HOOKOFF = 6, //<2F><><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA>
UBOX_STATE_POSITIVIE_HOOKOFF = 7, //<2F><><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA>
}UBOX_STATE;
typedef enum ENUM_UBOX_EVENT
{
UBOX_EVENT_DEVICE_PLUG_IN = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>param1<6D><31>param2<6D><32>param3<6D><33>param4δʹ<CEB4>ã<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>˵<EFBFBD><CBB5>ʹ<CEB4>ã<EFBFBD><C3A3><EFBFBD>ͬ
UBOX_EVENT_DEVICE_PLUG_OUT = 2, //<2F><><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><CEB3><EFBFBD>
UBOX_EVENT_ALARM = 3, //<2F><><EFBFBD><EFBFBD>,param1<6D><31><EFBFBD><EFBFBD>UBOX_ALARM<52>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>װ<EFBFBD><D7B0>
UBOX_EVENT_LINE_RESET = 10, //<2F><>λ<EFBFBD><CEBB>ժ<EFBFBD><D5AA>-><3E>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->ͣ<><CDA3> Ӳ<><D3B2>LED<45><44> <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>¼<EFBFBD>
UBOX_EVENT_LINE_RINGING = 11, //<2F><><EFBFBD>壬Ӳ<E5A3AC><D3B2>LED<45><44>
UBOX_EVENT_LINE_HOOK_OFF = 12, //ժ<><D5AA><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2>LED<45><44>
UBOX_EVENT_LINE_HANG = 13, //<2F><><EFBFBD><EFBFBD><E2B5BD>·<EFBFBD><C2B7><EFBFBD><EFBFBD> <20><>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ѹС<D1B9><D0A1>3V<33><56><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>·<EFBFBD><C2B7><EFBFBD>գ<EFBFBD>Ӳ<EFBFBD><D3B2>LED<45><44>˸
//UBOX_EVENT_LING_FLUSH = 14, //?? <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
UBOX_EVENT_RING_CANCEL = 15, //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩ<EFBFBD><C4A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>򴥷<EFBFBD><F2B4A5B7><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
UBOX_EVENT_LINE_VOLTAGE = 16, //<2F><>·<EFBFBD><C2B7>ѹ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>param1<6D><31><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ѹֵ<D1B9><D6B5>param1<6D><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>0<EFBFBD>ĵ<EFBFBD>ѹ<EFBFBD><D1B9>
UBOX_EVENT_STREAM_VOICE = 20, //<2F><>ʽ¼<CABD><C2BC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>param1<6D><31>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ҫת<D2AA><D7AA><EFBFBD><EFBFBD>unsigned char* pvoice= (unsigned char*)param1
// param2<6D><32>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
UBOX_EVENT_CALLER_ID = 21, //param1<6D>Ǻ<EFBFBD><C7BA><EFBFBD><EFBFBD><EFBFBD>ַ param2<6D><32>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ַ param3<6D><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ param4û<34><C3BB><EFBFBD><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ת<EFBFBD><D7AA> char* pszcallId =(char*)param1, char* pszcalltime=(char*)param2,
//char* pszcallname=(char*) param3
UBOX_EVENT_DTMF_DOWN = 22, //<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>param1<6D>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ֵ
UBOX_EVENT_DTMF_UP = 23,
UBOX_EVENT_DEVICE_ERROR = 24, //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD>
UBOX_EVENT_DEVICE_PLAY_END = 25, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UBOX_EVENT_DEVICE_PLAY_ERROR = 26, //<2F><><EFBFBD><EFBFBD><EFBFBD>
UBOX_EVENT_DEVICE_BUSY_TONE = 27, //<2F><><EFBFBD>⵽æ<E2B5BD><C3A6><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7>һ<EFBFBD>
UBOX_EVENT_CALLOUTFINISH = 28, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>
UBOX_EVENT_POLARITY = 29, //<2F><><EFBFBD><EFBFBD><E2B5BD><EFBFBD>Է<EFBFBD>ת
UBOX_EVENT_LINE_HOOK_UP = 30, //<2F>һ<EFBFBD>
UBOX_EVENT_LINE_RING_STOP = 31, //ͣ<><CDA3>
}UBOX_EVENT;
typedef enum ENUM_UBOX_ERROR_CODE
{
UBOX_ERR_SUCCESS = 0, //<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
UBOX_ERR_SYSTEM = -1, //ϵͳ<CFB5><CDB3><EFBFBD>󣬵<EFBFBD><F3A3ACB5>ò<EFBFBD><C3B2><EFBFBD>ϵͳ(windows)<29>ķ<EFBFBD><C4B7><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>.
UBOX_ERR_DEVICE_NOT_FOUND = -2, //û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>γ<EFBFBD>
UBOX_ERR_INVALID_HANDLE = -3, //<2F><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> UBOX_HANDLE
UBOX_ERR_INVALID_PARAMETER = -4, //<2F><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UBOX_ERR_EXCEPTION = -5, //<2F><><EFBFBD><EFBFBD><EFBFBD>
UBOX_ERR_INVALID_WORK_MODE = -6, //<2F><><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ģʽ
UBOX_ERR_UBOX_NOT_OPEN = -7, //ubox<6F><EFBFBD><E8B1B8>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>
UBOX_ERR_CANNOT_CREATE_DIR = -10, //δ<>ܴ<EFBFBD><DCB4><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>¼<EFBFBD><C2BC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼·<C2BC><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ubox<6F><78><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>
UBOX_ERR_CANNOT_CREATE_FILE = -11, //δ<>ܴ<EFBFBD><DCB4><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ļ<EFBFBD>
UBOX_ERR_INVALID_VOICE_CODER = -12, //<2F><>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UBOX_ERR_DEVICE_BUSY = -13, //<2F>豸æ<E8B1B8><C3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ٴ<EFBFBD>ָʾ<D6B8><CABE>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>(<28>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>STREAM<41><4D>STREAM)<29><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ͻ᷵<CDBB>ش˴<D8B4><CBB4><EFBFBD><EFBFBD><EFBFBD>
UBOX_ERR_LINE_NOT_FOUND = -14,
UBOX_ERR_USING = -15, //<2F><>֧<EFBFBD>ָù<D6B8><C3B9><EFBFBD>,<2C><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
}UBOX_ERROR_CODE;
typedef enum ENUM_UBOX_ALARM
{
UBOX_ALARM_CAN_FIND_MIC = 1, //δ<><CEB4><EFBFBD>ҵ<EFBFBD> ubox <20><> MIC <20>
UBOX_ALARM_CAN_OPEN_MIC = 2, //δ<>ܴ<EFBFBD><DCB4><EFBFBD> ubox <20><> MIC <20>
UBOX_ALARM_CAN_OPEN_PLAY = 3, //δ<>ܴ<EFBFBD><DCB4><EFBFBD> ubox <20><> <20><><EFBFBD><EFBFBD> <20>
UBOX_ALARM_DEVICE_ERROR = 4, //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
}UBOX_ALARM;
//<2F>¼<EFBFBD><C2BC>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
typedef void ( CALLBACK* UBoxEventNotifyProc )(
UBOX_HANDLE uboxHnd //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
, int eventID //<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ο<EFBFBD>UBOX_EVENT<4E>Ķ<EFBFBD><C4B6><EFBFBD>
, unsigned long param1 //<2F><><EFBFBD><EFBFBD><E6BCB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>岻ͬ
, unsigned long param2
, unsigned long param3
, unsigned long param4
);
/*ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>USB¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪϵͳĬ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3.0<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>޸ij<EFBFBD>ϵͳԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD>
vista<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>¼<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>"-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><E8B1B8><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>
*/
//ubox_open:
//<2F><><EFBFBD>ܣ<EFBFBD>proc <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mode <20><><EFBFBD><EFBFBD> ubox <20>Ĺ<EFBFBD><C4B9><EFBFBD>ģʽ<C4A3><CABD>ͨ<EFBFBD><CDA8><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ʽ
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ʾUSB<53><EFBFBD>򿪳ɹ<F2BFAAB3>,<2C>¼<EFBFBD>UBOX_EVENT_DEVICE_PLUG_IN֪ͨ<CDA8>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2><EFBFBD>
// <20>յ<EFBFBD>UBOX_EVENT_ALARM<52><4D>UBOX_EVENT_DEVICE_ERROR<4F><52><EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>˵<EFBFBD><CBB5>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ubox_open() ֮<><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD>
// <20><><EFBFBD>򣬶<EFBFBD><F2A3ACB6>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ int <20>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_ERR_SYSTEM<45><4D>
// <20><><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ UBOX_HANDLE <20>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> INVALID_UBOX_HANDLE<4C><45>
int WINAPI ubox_open(UBoxEventNotifyProc proc, UBOX_WORK_MODE mode);
typedef int (__stdcall *Mubox_open)(UBoxEventNotifyProc proc, UBOX_WORK_MODE mode);
void WINAPI ubox_close(void);
typedef void (__stdcall *Mubox_close)(void);
//ubox_get_work_mode:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ص<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ģʽ
//<2F><><EFBFBD>أ<EFBFBD>UBOX_WORK_MODE
int WINAPI ubox_get_work_mode( void );
typedef int (__stdcall *Mubox_get_work_mode)(void);
//ubox_check_coder:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>
//<2F><><EFBFBD>أ<EFBFBD>0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǺϷ<C7BA><CFB7>ģ<EFBFBD>
// UBOX_ERR_INVALID_VOICE_CODER <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>ģʽ<C4A3><CABD>
int WINAPI ubox_check_coder( int coder );
//ubox_get_line_state:
//<2F><><EFBFBD>ܣ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_MODE_RECORD <20><> UBOX_MODE_DIAG ģʽ<C4A3><CABD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>򷵻<EFBFBD> UBOX_ERR_INVALID_WORK_MODE<44><45>
int WINAPI ubox_get_line_state( UBOX_HANDLE uboxHnd);
//ubox_record_file:
//<2F><><EFBFBD>ܣ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_MODE_RECORD <20><> UBOX_MODE_DIAG ģʽ<C4A3><CABD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>򷵻<EFBFBD> UBOX_ERR_INVALID_WORK_MODE<44><45>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>VOICE_CODER
int WINAPI ubox_record_file(UBOX_HANDLE uboxHnd, const char* filename, int coder );
typedef int (__stdcall *Mubox_record_file)(UBOX_HANDLE uboxHnd, const char* filename, int coder);
//ubox_record_stream:
//<2F><><EFBFBD>ܣ<EFBFBD> <20><>ʼ<EFBFBD><CABC>ʽ¼<CABD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>VOICE_CODER<45><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UBOX_EVENT_STREAM_VOICE<43>¼<EFBFBD>֪ͨ
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_MODE_RECORD <20><> UBOX_MODE_DIAG ģʽ<C4A3><CABD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>򷵻<EFBFBD> UBOX_ERR_INVALID_WORK_MODE<44><45>
int WINAPI ubox_record_stream(UBOX_HANDLE uboxHnd, int coder );
typedef int (__stdcall *Mubox_record_stream)(UBOX_HANDLE uboxHnd, int coder );
//ubox_stop_record:
//<2F><><EFBFBD>ܣ<EFBFBD>ֹͣ<CDA3>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ʽ¼<CABD><C2BC>
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_MODE_RECORD <20><> UBOX_MODE_DIAG ģʽ<C4A3><CABD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>򷵻<EFBFBD> UBOX_ERR_INVALID_WORK_MODE<44><45>
int WINAPI ubox_stop_record(UBOX_HANDLE uboxHnd);
typedef int (__stdcall *Mubox_stop_record)(UBOX_HANDLE uboxHnd);
//ע<>⣺ֹͣʹ<D6B9><CAB9>
//ubox_set_volume:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0db<64>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD>ˣ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>volumeȡֵ<C8A1><D6B5>Χ0-19db
int WINAPI ubox_set_volume(UBOX_HANDLE uboxHnd,int volume );
//ע<>⣺ֹͣʹ<D6B9><CAB9>
//ubox_set_volume:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>volumeȡֵ<C8A1><D6B5>Χ-12db-6db
int WINAPI ubox_set_Speakervolume(UBOX_HANDLE uboxHnd, int volume );
//ubox_get_hang_threshold:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_MODE_CONFIG ģʽ<C4A3><CABD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>򷵻<EFBFBD> UBOX_ERR_INVALID_WORK_MODE<44><45>
int WINAPI ubox_get_hang_threshold(UBOX_HANDLE uboxHnd );
//ubox_set_hang_threshold:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ο<EFBFBD>ubox_set_hookoff_threshold<6C>е<EFBFBD>˵<EFBFBD><CBB5>
int WINAPI ubox_set_hang_threshold(UBOX_HANDLE uboxHnd, int threshold );
//ubox_get_hookoff_threshold:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ȡժ<C8A1><D5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_MODE_CONFIG ģʽ<C4A3><CABD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>򷵻<EFBFBD> UBOX_ERR_INVALID_WORK_MODE<44><45>
int WINAPI ubox_get_hookoff_threshold(UBOX_HANDLE uboxHnd);
//ubox_set_hookoff_threshold:
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>threshold<6C><64>ֵ<EFBFBD><D6B5><EFBFBD>ȶ<EFBFBD>ժ<EFBFBD><D5AA><EFBFBD><EFBFBD>ѹ<EFBFBD>͹һ<CDB9><D2BB><EFBFBD>ѹ<EFBFBD><D1B9>֮<EFBFBD>͵<EFBFBD>һ<EFBFBD>룬ժ<EBA3AC><D5AA><EFBFBD><EFBFBD>ѹ<EFBFBD>͹һ<CDB9><D2BB><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ubox_start_read_line_voltage
//<2F><>ubox_stop_read_line_voltage<67><65><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>.
int WINAPI ubox_set_hookoff_threshold(UBOX_HANDLE uboxHnd, int threshold );
/*Ӳ<><D3B2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>ѹ<EFBFBD>ط<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>绰״̬,ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>һ<EFBFBD><D2BB><EFBFBD>·ֱ<C2B7><D6B1><EFBFBD><EFBFBD>ѹ48V<38><56><EFBFBD><EFBFBD><><D5AA><EFBFBD><EFBFBD>·ֱ<C2B7><D6B1><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><E1BDB5>6V<36><56><EFBFBD>ҡ<EFBFBD>USB¼<42><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ժ<EFBFBD><D5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ18V,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>18V,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ϊ<EFBFBD>һ<EFBFBD>״̬,С<EFBFBD><EFBFBD>18V<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><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ*/
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ѹ<EFBFBD><D1B9>ÿ<EFBFBD><C3BF>200ms<6D><73><EFBFBD><EFBFBD>UBOX_EVENT_LINE_VOLTAGE<47>¼<EFBFBD>֪ͨ,<2C>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>param1<6D><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ѹֵ<D1B9><D6B5>ʣ<EFBFBD>µIJ<C2B5><C4B2><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>
// <20><>·<EFBFBD><C2B7>ѹ<EFBFBD><D1B9>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD>䣬ȡƽ<C8A1><C6BD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>
// <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0
int WINAPI ubox_start_read_line_voltage(UBOX_HANDLE uboxHnd);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ѹ<EFBFBD><D1B9><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0
int WINAPI ubox_stop_read_line_voltage(UBOX_HANDLE uboxHnd);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>򿪺󣬲ſ<F3A3ACB2><C5BF>Ի<EFBFBD>ȡӲ<C8A1><D3B2><EFBFBD>İ汾<C4B0>ţ<EFBFBD><C5A3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0 version_num<75><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֺ<EFBFBD>С<CEBB><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵΰ汾<CEB0><E6B1BE>
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD>ȡ<EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float versionnum<75><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ubox_get_device_versionnum<75><6D>2<EFBFBD><32>versionnum<75><6D>
int WINAPI ubox_get_device_versionnum(UBOX_HANDLE uboxHnd,float &version_num);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>򿪺<EFBFBD><F2BFAABA><EFBFBD><EFBFBD>ֶ<EFBFBD>ժ<EFBFBD><EFBFBD><E7BBB0><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0<EFBFBD><30>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><E6B1BE>С<EFBFBD><D0A1>3.0<EFBFBD><EFBFBD>֧<EFBFBD>ֲ<EFBFBD><EFBFBD>Ź<EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2>ŵĺ<C5B5><C4BA><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>10000<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ubox_send_dtmf<6D><66>2<EFBFBD><32>"10000"<22><>
int WINAPI ubox_send_dtmf(UBOX_HANDLE uboxHnd,const char* dmftfstring);
typedef int (__stdcall *Mubox_send_dtmf)(UBOX_HANDLE uboxHnd,const char* dmftfstring);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>򿪺󣬲<F2BFAABA><F3A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>PC<50><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ļ<EFBFBD><C4BC>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2>š<EFBFBD><C5A1>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0
//ע<>һ<E2A3BA>߲<EFBFBD><DFB2><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><E6B1BE>С<EFBFBD><D0A1>3.0<EFBFBD><EFBFBD>֧<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int WINAPI ubox_play_file(UBOX_HANDLE uboxHnd,const char* filename);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>򿪺<EFBFBD><F2BFAABA><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD>ţ<EFBFBD><C5A3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>-1
int WINAPI ubox_stop_play(UBOX_HANDLE uboxHnd);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>򿪺<EFBFBD><F2BFAABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD>һ<EFBFBD>Σ<EFBFBD><CEA3>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0
int WINAPI ubox_play_pause(UBOX_HANDLE uboxHnd);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬴򿪺͹ر<CDB9>AGC,<2C>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>Ϊtrue,<2C>ر<EFBFBD>agc,Ϊfalseʱ<65><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>agc,Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD>agc.<2E>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0
int WINAPI ubox_close_agc(UBOX_HANDLE uboxHnd,bool bclose);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬴˺<F3A3ACB4><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UBOX_MODE_CONFIG ģʽ<C4A3><CABD>ʹ<EFBFBD><CAB9>,<2C><>ȡeeprom<6F><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0,
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_INVALID_PARAMETER
//addr<64><72>ַ<EFBFBD><D6B7>ΧΪ0x00-0x07,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>Ϊ8<CEAA><38><EFBFBD>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ȡ<EFBFBD><C8A1><EFBFBD>ݵĵ<DDB5>ַ
//<2F>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uboxHnd<6E><64>1<EFBFBD><31>addr=0x00,unsigned char readdata[8]
//ubox_read_eeprom(1,0x00,&readata[0],8),<2C><><EFBFBD>óɹ<C3B3><C9B9>󣬶<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>readdata<74><61>
int WINAPI ubox_read_eeprom(UBOX_HANDLE uboxHnd,unsigned char addr,unsigned char* outdata,int len);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬴˺<F3A3ACB4><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>ģʽ<C4A3><CABD>ʹ<EFBFBD><CAB9><><D0B4>eeprom<6F><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0<EFBFBD><30>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_INVALID_PARAMETER
//addr<64><72>ַ<EFBFBD><D6B7>ΧΪ0x00-0x08,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ڣ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>Ϊ8<CEAA><38><EFBFBD>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊд<CEAA><D0B4><EFBFBD><EFBFBD><EFBFBD>ݵĵ<DDB5>ַ
//<2F>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uboxHnd<6E><64>1<EFBFBD><31>addr=0x00,unsigned char writedata[8] ={0x01,0x20,0x30,0x31,0x32,0x33,0x40,0x70}
//ubox_write_eeprom(1,0x00,&writedata[0],8),<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ubox_read_eeprom<6F><6D>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
int WINAPI ubox_write_eeprom(UBOX_HANDLE uboxHnd,unsigned char addr,unsigned char* indata,int len);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬴˺<F3A3ACB4><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>ģʽ<C4A3><CABD>ʹ<EFBFBD><CAB9>,<2C><>ȡeeprom<6F><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0,
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_INVALID_PARAMETER
//addr<64><72>ַ<EFBFBD><D6B7>ΧΪ0x00-0x08,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>Ϊ8<CEAA><38><EFBFBD>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD>addr+len<65><6E>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ȡ<EFBFBD><C8A1><EFBFBD>ݵĵ<DDB5>ַ
//<2F>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uboxHnd<6E><64>1<EFBFBD><31>addr=0x00,unsigned char readdata[8]
//ubox_read_eeprom(1,0x00,&readata[0],8),<2C><><EFBFBD>óɹ<C3B3><C9B9>󣬶<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>readdata<74><61>
//ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ubox_write_eepromд<6D>ɹ<EFBFBD><C9B9>󣬶<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ȷֵ<C8B7><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬵<EFBFBD><F3A3ACB5><EFBFBD>ubox_read_eepromEx<45><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ȡ<EFBFBD>ϴ<EFBFBD><CFB4>޸ĵ<DEB8>ֵ<EFBFBD><D6B5>
int WINAPI ubox_read_eepromEx(UBOX_HANDLE uboxHnd,unsigned char addr,unsigned char* outdata,int len);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺<EFBFBD><F2BFAABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0
//ע<><EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>汾3.0<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>֧<EFBFBD><EFBFBD>
int WINAPI ubox_soft_hook_off(UBOX_HANDLE uboxHnd);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺<EFBFBD><F2BFAABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0
//ע<><EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>汾3.0<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>֧<EFBFBD><EFBFBD>
int WINAPI ubox_soft_hook_on(UBOX_HANDLE uboxHnd);
////<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬴˺<F3A3ACB4><CBBA><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>û<EFBFBD><C3BB>ţ<EFBFBD><C5A3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ų<EFBFBD><C5B3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>󷵻<EFBFBD>ΪС<CEAA><D0A1>0<EFBFBD><30><EFBFBD><EFBFBD>,
//<2F>û<EFBFBD><C3BB>ŵij<C5B5><C4B3><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>len<65><6E>С<EFBFBD><D0A1>8, user-num<75><6D><EFBFBD>õ<EFBFBD>ַ<EFBFBD>ռ<D5BC><E4B2BB>С<EFBFBD><D0A1>8<EFBFBD><38><EFBFBD>ֽڡ<D6BD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ҹ<EFBFBD>˾
int WINAPI ubox_get_usernum(UBOX_HANDLE uboxHnd,unsigned char* user_num,int len);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺<EFBFBD><F2BFAABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>æ<EFBFBD><C3A6><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>øò<C3B8><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>æ<EFBFBD><C3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0,
int WINAPI ubox_set_busy_tone(UBOX_HANDLE uboxHnd,const tagBusyInfo busyinfo);
//<2F><><EFBFBD>ܣ<EFBFBD> <20><><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬻<F2BFAABA>ȡ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ֵij<D6B5><C4B3>ȣ<EFBFBD><C8A3><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ΪFi3001B <20><><31><C2B7><EFBFBD><EFBFBD>¼<EFBFBD><C2BC> <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ΪFi3002B <20><><32><C2B7><EFBFBD><EFBFBD>¼<EFBFBD><C2BC> <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ΪFi3102A <20><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD> <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ΪFi3101A <20><><31><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int WINAPI ubox_get_product_name(UBOX_HANDLE uboxHnd, char* product_name);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬴˺<F3A3ACB4><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bset=true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD>bset=false <20>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0,
//ע<><EFBFBD><E2A3BA>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3>²<EFBFBD><C2B2><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD>
//Ҫ<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷粻<CBB7><E7B2BB><EFBFBD><EFBFBD>
int WINAPI ubox_set_message_param(UBOX_HANDLE uboxHnd,bool bset);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>򿪺󣬴˺<F3A3ACB4><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>򿪷<EFBFBD><F2BFAAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bset=true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bset=false <20>رշ<D8B1><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>UBOX_ERR_SUCCESS<53><53><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD>Ϊ<EFBFBD><CEAA>0,
//ע<>⣺Ĭ<E2A3BA><C4AC><EFBFBD>ǹرշ<D8B1><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʾ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ򿪣<D1B4><F2BFAAA3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int WINAPI ubox_open_buzzer_switch(UBOX_HANDLE uboxHnd,bool bset);
//<2F><>ȡ<EFBFBD><C8A1>ƷID<49>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>Dz<EFBFBD>ƷID,<2C><>Ӧ<EFBFBD><D3A6>ֵ<EFBFBD><D6B5><EFBFBD>£<EFBFBD>
// 1 FI3102A 2·USB <20><><EFBFBD><EFBFBD>
// 2 FI3002B 2·USB¼<42><C2BC><EFBFBD><EFBFBD>
// 3 FI3001B 1·USB¼<42><C2BC><EFBFBD><EFBFBD>
// 4 FI3101A <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USB<53><42><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>1<EFBFBD><31>1<EFBFBD>ڣ<EFBFBD>
int WINAPI ubox_get_product_ID(UBOX_HANDLE uboxHnd);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>ubox_open֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD>
//level=0, <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>Ϣ
//level =1, <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʾ
void WINAPI ubox_open_logfile(long level);
//<2F>ر<EFBFBD><D8B1><EFBFBD>־<EFBFBD>ļ<EFBFBD>
void WINAPI ubox_close_logfile();
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
class ubox_state_formator
{
int state_code_;
ubox_state_formator();
public:
ubox_state_formator( int code ):state_code_(code){;}
ubox_state_formator( const ubox_state_formator& rhs):state_code_(rhs.state_code_){;}
ubox_state_formator& operator = ( const ubox_state_formator& rhs)
{
state_code_ = rhs.state_code_;
return *this;
}
friend std::ostream & operator << (std::ostream& os ,const ubox_state_formator& me )
{
switch( me.state_code_ )
{
case UBOX_STATE_PLUG_OUT:
os << "״̬=" << me.state_code_ << " : <20><><EFBFBD>";
break;
case UBOX_STATE_RESET:
os << "״̬=" << me.state_code_ << " : <20><>λ";
break;
case UBOX_STATE_RINGING:
os << "״̬=" << me.state_code_ << " : <20><><EFBFBD><EFBFBD>";
break;
case UBOX_STATE_HOOK_OFF:
os << "״̬=" << me.state_code_ << " : ժ<><D5AA>";
break;
case UBOX_STATE_HANG:
os << "״̬=" << me.state_code_ << " : <20><><EFBFBD><EFBFBD>";
break;
case UBOX_STATE_REVERSE_HOOKOFF:
os << "״̬=" << me.state_code_ << " : <20><><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA>";
break;
case UBOX_STATE_POSITIVIE_HOOKOFF:
os << "״̬=" << me.state_code_ << " : <20><><EFBFBD><EFBFBD>ժ<EFBFBD><D5AA>";
break;
/* case UBOX_STATE_TELEPHONE_HOOKON:
os << "״̬=" << me.state_code_ << " : <20><EFBFBD><E7BBB0><EFBFBD>һ<EFBFBD>";
break;*/
default:
os << "״̬=" << me.state_code_ << " : δ<><CEB4><EFBFBD><EFBFBD>";
break;
}
return os;
}
};
class ubox_event_formator
{
int event_code_;
ubox_event_formator();
public:
ubox_event_formator( int code ):event_code_(code){;}
ubox_event_formator( const ubox_event_formator& rhs):event_code_(rhs.event_code_){;}
ubox_event_formator& operator = ( const ubox_event_formator& rhs)
{
event_code_ = rhs.event_code_;
return *this;
}
friend std::ostream & operator << (std::ostream& os ,const ubox_event_formator& me )
{
switch( me.event_code_ )
{
case UBOX_EVENT_DEVICE_PLUG_IN:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>";
break;
case UBOX_EVENT_DEVICE_PLUG_OUT:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><EFBFBD>γ<EFBFBD>";
break;
case UBOX_EVENT_LINE_RESET:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><>·<EFBFBD><C2B7>λ";
break;
case UBOX_EVENT_LINE_RINGING:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><>·<EFBFBD><C2B7><EFBFBD><EFBFBD>";
break;
case UBOX_EVENT_LINE_HOOK_OFF:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><>·ժ<C2B7><D5AA>";
break;
case UBOX_EVENT_LINE_HANG://<2F><><EFBFBD><EFBFBD><E2B5BD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><>·<EFBFBD><C2B7><EFBFBD><EFBFBD>";
break;
case UBOX_EVENT_STREAM_VOICE:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>";
break;
case UBOX_EVENT_CALLER_ID:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
break;
case UBOX_EVENT_DTMF_DOWN:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : DTMF<4D><46><EFBFBD><EFBFBD>";
break;
case UBOX_EVENT_DTMF_UP:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : DTMF<4D>ͷ<EFBFBD>";
break;
case UBOX_EVENT_ALARM:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><><EFBFBD><EFBFBD>֪ͨ";
break;
case UBOX_EVENT_RING_CANCEL:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : <20><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>";
break;
default:
os << "<EFBFBD>¼<EFBFBD>=" << me.event_code_ << " : δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>";
break;
}
return os;
}
};
class ubox_err
{
int err_code_;
public:
ubox_err(int code):err_code_(code){;}
friend std::ostream & operator << (std::ostream& os ,const ubox_err& me )
{
switch( me.err_code_ )
{
case UBOX_ERR_SUCCESS:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>";
break;
case UBOX_ERR_SYSTEM:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>";
break;
case UBOX_ERR_DEVICE_NOT_FOUND:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20>޴<EFBFBD><DEB4>";
break;
case UBOX_ERR_INVALID_HANDLE:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20>Ƿ<EFBFBD><C7B7><EFBFBD> UBOX_HANDLE";
break;
case UBOX_ERR_INVALID_PARAMETER:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>";
break;
case UBOX_ERR_CANNOT_CREATE_DIR:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : δ<>ܴ<EFBFBD><DCB4><EFBFBD>Ŀ¼";
break;
case UBOX_ERR_CANNOT_CREATE_FILE:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : δ<>ܴ<EFBFBD><DCB4><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ļ<EFBFBD>";
break;
case UBOX_ERR_INVALID_VOICE_CODER:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20><>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
break;
case UBOX_ERR_INVALID_WORK_MODE:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20><><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ģʽ";
break;
case UBOX_ERR_EXCEPTION:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20><><EFBFBD><EFBFBD><EFBFBD>";
break;
case UBOX_ERR_DEVICE_BUSY:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : <20>豸æ";
break;
case UBOX_ERR_UBOX_NOT_OPEN:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : ubox<6F><EFBFBD><E8B1B8>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>";
break;
default:
os << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=" << me.err_code_ << " : δ<><CEB4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>";
break;
}
return os;
}
};
/*
ubox_err ʹ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int result = ubox_record_stream(uboxHnd, coder );
if( result != UBOX_ERR_SUCCESS )
{
std::cout << "ubox_record_stream(, " << coder << " ) faild! "
<< ubox_err(result)
<< std::endl;
}
*/
#endif //__cplusplus
#endif//__PHONIC_UBOX_INCLUDE__