audio_pipeline_register(wavRecorder, i2s_stream_reader, "i2s");
audio_pipeline_register(wavRecorder, wav_encoder_init(&wav_enc_cfg), "wav");
audio_pipeline_register(wavRecorder, fs_stream_writer, "file");
audio_pipeline_link(wavRecorder, (const char *[]) {"i2s", "wav", "file"}, 3);
这样注册了pipeline,然后pipeline start就开始录音了,这个录出来的声音太小,如果距离稍远,再加上声音小一点,就基本上录不下波形来了。而如果我在Mic端增加一个放大器的话,离近一些或者声音大的话,录进来的波型又太大了,会破音。所以请问两个问题:
1、简单的设置录音音量如何实现?
2、如何获取得源头数据以实现一些软件级别的压限或放大(录音后的数据再压限已经没有意义,因为破音已经产生)?有没有相应的资料或例程?
谢谢