Android4.2 Audio子系统—音频声音小问题

一、在HAL层捕获PCM数据并存盘

static ssize_t out_write(struct audio_stream_out *stream, const void* buffer,
                         size_t bytes)
{
  //add by tank
  FILE *tankai;
  tankai = fopen("/data/buffer","a+");
  if(tankai == NULL) {
    ALOGD("TK------>>>file can not open!\n");
    exit(0);
  }
  ALOGD("TK------>>>>stream is 0x%lx",tankai);
  fwrite(in_buffer,1,bytes,tankai);
  fclose(tankai);
  //end tank
  ret = pcm_write(out->pcm, in_buffer, out_frames * frame_size);
}
这样,当有数据需要播放时;就会被保存在/data/目录下的buffer文件中。

二、使用Cool Edit查看

1.下载Cool Edit

Cool Edit中文版

2.使用

我们的数据格式如下:采样率——48000HZ,量化位数——16bit,声道——立体声。

步骤一:

Android4.2 Audio子系统—音频声音小问题_第1张图片

步骤二:


3.音频数据波形图(前边为待接听时的声音,后边为QQ通话声音)

Android4.2 Audio子系统—音频声音小问题_第2张图片


从上图可以看出:QQ音频振幅较小。

你可能感兴趣的:(Android4.2 Audio子系统—音频声音小问题)