有些应用场景下音频解码器出来的PCM sample格式是float32, 可能需要转成s16(int16)类型, 不多说直接上干货,拿走不谢~
#include <stdint.h>
inline int16_t PCMFloat32ToInt16FmtConvert(float sample)
{
if (sample < -0.999999f)
{
return INT16_MIN;
}
else if (sample > 0.999999f)
{
return INT16_MAX;
}
else
{
return static_cast<int16_t>(sample*32767.0f);
}
}
更多问题可以联系qq: 1130758427, github