回顧一點C++的基礎編程知識
對主程序進行編輯,在ultrasounddetect.cpp文檔中也添加了幾行打印信息。
/*
ultraSonicDetectMain.cpp
Created by Shawn.li on 2019.4.7
All rights reserved
*/
#include <iostream>
#include <stdio.h>
#include <vector>
#include "aTestClassHeader.h"
#include "UltraSoundDetect.h"
using namespace std;
int main(int argc, char * argv[])
{
FILE *pcmAudioFile;
int fileSize;
size_t result;
int samplesLength = 480;
short samples[480];
webrtc::UltraSoundDetector ultraSonicDetector1;
webrtc::UltraSoundResult isUltraSound;
pcmAudioFile = fopen("D:\\Gitlab\\app\\ultrasound\\build\\win32\\ultralSonicSignalDetect\\ultralSonicSignalDetect\\Debug\\aTestPcmAudio1.pcm","rb");
if(pcmAudioFile != NULL)
{
std::cout << "Read file success!" << std::endl;
}
fseek(pcmAudioFile,0,SEEK_END);
fileSize = (int)ftell(pcmAudioFile)/2;
rewind(pcmAudioFile);
vector<short>buffer(fileSize);
result = fread(&buffer[0],2,fileSize,pcmAudioFile);
fclose(pcmAudioFile);
for(int iloop1 = 0;iloop1*samplesLength < fileSize;iloop1 ++)
{
for(int iloop2 = 0; iloop2 < samplesLength -1; iloop2 ++)
{
samples[iloop2] = buffer[iloop1*samplesLength + iloop2];
}
ultraSonicDetector1.processRecordBuffer( samples,samplesLength,isUltraSound);
UltraSoundEventParam ultraSoundEventParams;
UltraSoundEvent ultraSoundEvents;
if(isUltraSound == webrtc::kUltraSound_Yes)
{
ultraSonicDetector1.getUltraSoundEvent(ultraSoundEvents);
ultraSonicDetector1.getUltraSoundInfo(ultraSoundEventParams);
}
else if(isUltraSound == webrtc::kUltraSound_None_Overtime)
{
std::cout <<"over time"<< std::endl;
}
fileSize--;
}
aTestClass printer;
printer.print();
std::cin.clear();
std::cin.sync();
std::cin.get();
return 0;
}
重新編譯,並運行編譯獲取結果