Ios 将16位短路转换为32位浮点
在iOS的音调生成器示例中: 我正在尝试在iOS中将短数组转换为Float32Ios 将16位短路转换为32位浮点,ios,audio,type-conversion,tone-generator,Ios,Audio,Type Conversion,Tone Generator,在iOS的音调生成器示例中: 我正在尝试在iOS中将短数组转换为Float32 Float32 *buffer = (Float32 *)ioData->mBuffers[channel].mData; short* outputShortBuffer = static_cast<short*>(outputBuffer); for (UInt32 frame = 0, j=0; frame < inNumberFrame
Float32 *buffer = (Float32 *)ioData->mBuffers[channel].mData;
short* outputShortBuffer = static_cast<short*>(outputBuffer);
for (UInt32 frame = 0, j=0; frame < inNumberFrames; frame++, j=j+2)
{
buffer[frame] = outputShortBuffer[frame];
}
Float32*buffer=(Float32*)ioData->mBuffers[channel].mData;
short*outputShortBuffer=静态_转换(outputBuffer);
对于(UInt32帧=0,j=0;帧
由于某些原因,当从扬声器播放时,我听到了额外的噪音。我认为从short到Float32的转换有问题?是的,有问题
考虑浮点采样的值范围是
-1.0如何将浮点数组转换为短数组?
Float32 *buffer = (Float32 *)ioData->mBuffers[channel].mData;
short* outputShortBuffer = static_cast<short*>(outputBuffer);
for (UInt32 frame = 0, j=0; frame < inNumberFrames; frame++, j=j+2)
{
buffer[frame] = ((float) outputShortBuffer[frame]) / 32767.0f;
}