一般的录制 PCM 文件,可以简单的修改 tinycap 的代码,将 tinycap 打包 wav 的地方去掉,直接就可以录制 PCM 文件了(原理是 WAV = 头部+PCM 数据)。也可以使用 Android C++ 的 AudioSource 类来进行录制。代码非常简单,如下:
#include <binder/ProcessState.h>
#include <media/mediarecorder.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/AudioSource.h>
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MetaData.h>
#include <system/audio.h>
#define LOG_TAG "recordAudio"
using namespace android;
int main() {
static const int32_t kSampleRate = 16000;
static const int32_t kNumChannels = 1;
static const int32_t kRecordTime = 20;