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