ios - 来自远程 I/O 单元的原始音频数据的测量单位是什么?

标签 ios objective-c audio audiounit remoteio

我正在使用远程 I/O 单元录制原始音频数据,如下所示:

static OSStatus performRender(void *inRefCon,
                              AudioUnitRenderActionFlags *ioActionFlags,
                              const AudioTimeStamp *inTimeStamp,
                              UInt32 inBusNumber,
                              UInt32 inNumberFrames,
                              AudioBufferList *ioData)
{
    OSStatus err = noErr;
    if (*callbackStruct.audioChainIsBeingReconstructed == NO)
    {
        err = AudioUnitRender(callbackStruct.rioUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData);
        {
            [callbackStruct.bufferManager CopyAudioDataToDrawBuffer:(Float32 *)ioData->mBuffers[0].mData frames:inNumberFrames];
        }
    }
    return err;
}

这个原始音频数据的测量单位是什么(mBuffers[0].mData,如果你查找AudioBuffer结构,它是一个空指针)。

是帕斯卡还是毫伏 (mV)?提前致谢。

最佳答案

两者都不是 - 它可能是多种音频数据格式中的一种,常见的有:

  • float具有值 -1.0 <= x <= 1.0
  • 16 位 signed short具有值 -32768 < x < 32768

最小值和最大值是可以在不裁剪的情况下表示的最小和最大样本值。

为了计算输出电压,您需要确定音频系统其余部分的增益。您可以假设以帕斯卡为单位的 SPL 与输出功率或多或少呈线性关系,输出功率与 V^2 成正比。 .

关于ios - 来自远程 I/O 单元的原始音频数据的测量单位是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31825808/

相关文章:

iOS 从 .mov 文件中提取音频

iOS Swift Navigation 通过重定向展开

ios - OpenCV 将颜色设置为前景标记像素 GC_PR_FGD

iphone - 按距离对多个位置进行排序的最快方法是什么?

iphone - 使用 iPhone SDK 查找 SRV 记录

c# - 读取音频 CD 轨道信息

iOS - 多播网络失败 : "Can' t assign requested address"

iphone - 如何在 iOS 上使用 libharu 以 2/3 行显示字符串?

iphone - 使用 remoteIO 生成 iPhone 音频时如何防止爆音?

c# - unity “Can not play a disabled audio source”