📄 commnicatetest.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include "DataFileOperation.h"
#include "ParamDef.h"
#include "SndOperation.h"
#define BUFF_SIZE 1024 * 2
/************** function implementation **************/
int main(int argc, char *argv[])
{
CDataFileOperation g_DFOperate;
CSndOperation g_SndOperate;
unsigned int snd_fmt = DFT_SND_FMT;
unsigned int snd_chn = DFT_SND_CHN;
unsigned int snd_spd = DFT_SND_SPD;
int i = 0;
int RecOrPlay;
int Looptimes = 1000;
ssize_t nRD; /*bytes readin */
ssize_t nWR; /*bytes write out */
char *s_file = "Sound.wav";
char *buff; /*sound buffer */
if (strcmp(argv[1], "r") == 0) {
printf("Record mode\n");
RecOrPlay = ACT_RECORD;
}else {
printf("Play mode\n");
RecOrPlay = ACT_PLAY;
}
if (!(g_SndOperate.OpenDev(RecOrPlay))) {
printf("error in open sound device!\n");
exit(-1);
}
if (!(g_DFOperate.OpenFile(s_file, RecOrPlay))) {
printf("cannot open sound file %s\n", s_file);
return (-1);
}
if (!(g_SndOperate.SetFormat(snd_fmt, snd_chn, snd_spd))) {
printf("cannot set device in bit %d, channel %d, speed %d\n",
snd_fmt, snd_chn, snd_spd);
return (-1);
}
buff = new char [BUFF_SIZE];
if (RecOrPlay == ACT_RECORD) {
for(i = 0; i < Looptimes; i++) {
nRD = g_SndOperate.Record(buff, BUFF_SIZE);
if (nRD < 0) {
perror("read sound device file failed");
return (-1);
}
printf("i = %d\t read %d byte from dev\n", i, nRD);
nWR = g_DFOperate.Write(buff, nRD);
if (nWR < 0) {
perror("write sound data file failed");
return (-1);
}
}
} else {
printf("begin play!!!\n");
for(i = 0; i < Looptimes; i++) {
nRD = g_DFOperate.Read(buff, BUFF_SIZE);
if (nRD < 0) {
perror("read sound data file failed");
return (-1);
}
printf("i = %d\t read %d byte from file\n", i, nRD);
nWR = g_SndOperate.Play(buff, nRD);
if (nWR < 0) {
perror("write sound device file failed");
return (-1);
}
}
}
delete []buff;
g_DFOperate.CloseFile();
g_SndOperate.CloseDev();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -