在音频的采集编码发送端,用 std::ifstream 将采集到的原始数据、前处理后的pcm数据或编码后的RTP数据包替换掉,就可以指定音频的输入源,在特定的输入源之下衡量音频传输/处理的效果。
假如要替换pcm原始音频数据
#include <fstream>
// 类成员中加入, xxx为一次读取的长度
char data[xxx];
std::ifstream in;
// 构造函数中加入
in.open("/sdcard/test.pcm", std::ios::binary);
// 析构函数中加入
in.close();
// 音频采集位置中加入
if(!in.eof())
{
in.read(data, sizeof(data));
}
else
{
// 先clear(),之后seekg()
in.clear();
in.seekg(0, std::ios::beg);
}
#include <cstdio>
static char* data = (char*)malloc(xxx);
static FILE* file = fopen("/sdcard/test.pcm", "rb");
if(xxx != fread(data, 1, xxx, file)
{
fseek(file, 0, SEEK_SET);
return;
}