1

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

4

1 回答 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 回答