Reading audio buffer data with AudioQueue

吃可爱长大的小学妹 提交于 2019-12-01 05:43:51
char *buffer= NULL;

That's the reason. You're iterating over signed bytes, not 16-bit samples.

Declare the variable as holding a pointer to two-byte values instead:

SInt16 *buffer = NULL;

Then, iterate over half as many samples as bytes:

for(int i=0;i < (BUFFER_SIZE / sizeof(*buffer));i++){
  NSLog(@"%i", buffer[i]);
}

I would rename BUFFER_SIZE to BUFFER_SIZE_BYTES to clarify it.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!