You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.5 KiB
C

3 years ago
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdarg.h>
#include <signal.h>
#include <errno.h>
#include <assert.h>
#include <math.h>
#include <sys/time.h>
#include <netinet/tcp.h>
// SocketWrapper.h
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/select.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
//#include "SocketWrapper.h"
#include "ulaw.h"
#include "SayTranUtil.h"
#define ERROR_SVR_INFO -1
#define ERROR_SVR_CONNECT -2
#define AUDIO_TYPE_MULAW 1
#define AUDIO_TYPE_PCM 2
#define ERR_INVALID_USER_LENGTH -100
#define ERR_RECV_RECOG_DATA -300
#define SUCCESS_SEND_DATA 100
#define SUCCESS_RECV_HEADER_DATA 200
#define SUCCESS_RECV_RECOG_DATA 300
#if defined(_16K_AUDIO_)
#define SAMP_PER_MS 16
#elif defined(_8K_AUDIO_)
#define SAMP_PER_MS 8
#else
#define SAMP_PER_MS 16
#endif
#define FRAME_SHIFT 10 * SAMP_PER_MS // One frame size
// Open
int VST_Connect_To_Server(char *server_ip, int server_port);
// Close
int VST_Disconnect(int sockfd);
// Write (Send)
int VST_Send_Header_Data(int sockfd, char *User, char *Type);
int VST_Send_Audio_Data(int sockfd, char *data, short len);
int VST_Send_Final_Data(int sockfd, char *data, int sample_rate, int type);
// Read (Recv)
int VST_Recv_Header_Data(int sockfd, int *code, int *size);
int VST_Recv_Recog_Data(int sockfd, int size, char *result, FILE *output);
// Option
long VST_Get_filesize(FILE *fd);