将pcm s16be阵列注入novocaine audiomanager

时间:2014-05-19 10:26:48

标签: pcm novocaine

致@alexbw和朋友们, 首先感谢这段伟大的代码。 我在一个字节数组中有pcm数据(带符号16位大端),我想用Novocaine AudioManager setOutputBlock播放它。 我明白我首先需要转换为float数组。 或者有更快的方法吗? 干杯 菲利普

1 个答案:

答案 0 :(得分:0)

迟到了,但对于其他人来说:

您可以在此处使用Accelerate框架:

float *float_data = malloc(sizeof(float) * numFrames); vDSP_vflt16(my_s16_data, 1, float_data, 1, numFrames); //Scaling [-32768, 32768] to [-1, 1] float scale = 1.0 / (float)INT16_MAX; vDSP_vsmul(float_data, 1, &scale, float_data, 1, numFrames);

“float_data”现在具有等效的浮点数。