致@alexbw 和朋友们,首先感谢这段伟大的代码。我在一个字节数组中有 pcm 数据(有符号的 16 位大端序),我想用 Novocaine AudioManager setOutputBlock 播放它。我知道我首先需要转换为浮点数组。还是有更快的方法?干杯菲利普
问问题
96 次
1 回答
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”现在将具有等效的浮点数。
于 2017-03-20T05:53:06.103 回答