1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <time.h>
#include "SWIrecAPI.h"
#include "SWIepAPI.h"
#define MAX_AUDIO_BUF_LEN 2000
#define MAX_EP_AUDIO_BUF_LEN 2000
#define NUM_AUDIO_BUFS 5
#define MAGIC_WORD 0 /* switch to 1 for magic word demo */
#ifdef WIN32 /* Windows NT */
#include <windows.h>
#include <process.h>
#define RETURN_TYPE unsigned int
typedef unsigned int (__stdcall *ThreadFunc)(void* userData);
#define usleep(x) Sleep(x / 1000)
#define DEFINE_THREAD_FUNC(funcName, userData) \
unsigned int (__stdcall funcName)(void *userData)
#define Thread HANDLE
SWIrecFuncResult rc;
SWIrecRecognizer *rec =NULL;
SWIepDetector *det;
wchar_t *channelName = L"1";
int ThreadCreate(Thread* thread, ThreadFunc start_function, void* arg)
{
*thread = (Thread)_beginthreadex(NULL, 0, start_function, arg, 0, NULL);
return 0;
}
int ThreadJoin(Thread* thread, void* status)
{
int rc;
switch (WaitForSingleObject(*thread, INFINITE)) {
case WAIT_OBJECT_0:
case WAIT_ABANDONED:
rc = 0;
break;
case WAIT_TIMEOUT:
default:
rc = 1;
break;
}
CloseHandle(*thread);
return rc;
} |
Partager