CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
CriAtomExAsr类 参考

用于控制Atom声音渲染器的总线输出的类。 更多...

struct  BusAnalyzerInfo
 Level测量信息 更多...
 

静态 Public 成员函数

static void AttachBusAnalyzer (string busName, int interval, int peakHoldTime)
 添加Level测量功能 更多...
 
static void AttachBusAnalyzer (int interval, int peakHoldTime)
 添加至所有DSP总线的Level测量功能 更多...
 
static void DetachBusAnalyzer (string busName)
 删除Level测量功能 更多...
 
static void DetachBusAnalyzer ()
 删除来自所有DSP总线的Level测量功能 更多...
 
static void GetBusAnalyzerInfo (string busName, out BusAnalyzerInfo info)
 获取Level测量结果 更多...
 
static void GetBusAnalyzerInfo (int busId, out BusAnalyzerInfo info)
 
static void SetBusVolume (string busName, float volume)
 设置DSP总线音量 更多...
 
static void SetBusVolume (int busId, float volume)
 
static void SetBusSendLevel (string busName, string sendTo, float level)
 设置DSP总线发送Level 更多...
 
static void SetBusSendLevel (int busId, int sendTo, float level)
 
static void SetBusMatrix (string busName, int inputChannels, int outputChannels, float[] matrix)
 设置DSP总线的Level矩阵 更多...
 
static void SetBusMatrix (int busId, int inputChannels, int outputChannels, float[] matrix)
 
static void SetEffectBypass (string busName, string effectName, bool bypass)
 设置DSP总线效果的Bypass 更多...
 
static void SetEffectParameter (string busName, string effectName, uint parameterIndex, float parameterValue)
 设置DSP总线效果动作时的参数 更多...
 
static float GetEffectParameter (string busName, string effectName, uint parameterIndex)
 获取DSP总线效果动作时的参数 更多...
 
static bool RegisterEffectInterface (IntPtr afx_interface)
 注册用户定义效果界面 更多...
 
static void UnregisterEffectInterface (IntPtr afx_interface)
 解除用户定义效果界面注册 更多...
 
static void GetBusVolume (string busName, out float volume)
 总线音量的获取 更多...
 
static void EnableBinauralizer (Boolean enabled)
 启用Binauralizer 更多...
 
static bool IsEnabledBinauralizer ()
 Binauralizer的启用状态的获取 更多...
 
static int GetPcmOutput (int outputChannels, int outputSamples, float[][] buffer)
 获取PCM输出 更多...
 
static int GetNumBufferedPcmOutputSamples ()
 可用的PCM输出的样本数的获取 更多...
 
static void SetPcmBufferSize (int numSamples)
 PCM输出样本的缓冲区大小的设置 更多...
 
static void PauseOutputVoice (bool sw)
 暂停/取消暂停所有播放 更多...
 

详细描述

用于控制Atom声音渲染器的总线输出的类。

说明:
在本类中。可以操作Atom声音渲染器的总线输出,更改音量,或测量Level。

成员函数说明

static void AttachBusAnalyzer ( string  busName,
int  interval,
int  peakHoldTime 
)
inlinestatic

添加Level测量功能

参数
busNameDSP总线名
interval测量间隔(毫秒)
peakHoldTime峰值保持Level的Hold时间(毫秒)
说明:
为DSP总线添加Level测量功能,开始Level测量处理。
执行本函数后,通过执行 CriAtomExAsr::GetBusAnalyzerInfo 函数, 可以获取RMS Level(声压)、峰值Level(最大振幅)、 峰值保持Level。 要测量多个DSP总线的Level时,需要针对各DSP总线调用本函数。
参见
CriAtomExAsr::GetBusAnalyzerInfo, CriAtomExAsr::DetachBusAnalyzer
static void AttachBusAnalyzer ( int  interval,
int  peakHoldTime 
)
inlinestatic

添加至所有DSP总线的Level测量功能

参数
interval测量间隔(毫秒)
peakHoldTime峰值保持Level的Hold时间(毫秒)
说明:
为DSP总线添加Level测量功能,开始Level测量处理。
执行本函数后,通过执行 CriAtomExAsr::GetBusAnalyzerInfo 函数, 可以获取RMS Level(声压)、峰值Level(最大振幅)、 峰值保持Level。
参见
CriAtomExAsr::GetBusAnalyzerInfo, CriAtomExAsr::DetachBusAnalyzer
static void DetachBusAnalyzer ( string  busName)
inlinestatic

删除Level测量功能

参数
busNameDSP总线名
说明:
删除来自指定的DSP总线的Level测量功能。
参见
CriAtomExAsr::AttachBusAnalyzer
static void DetachBusAnalyzer ( )
inlinestatic

删除来自所有DSP总线的Level测量功能

说明:
删除来自所有DSP总线的Level测量功能。
参见
CriAtomExAsr::AttachBusAnalyzer
static void GetBusAnalyzerInfo ( string  busName,
out BusAnalyzerInfo  info 
)
inlinestatic

获取Level测量结果

参数
busNameDSP总线名
infoLevel测量结果
说明:
从DSP总线获取Level测量功能的结果。
参见
CriAtomExAsr::AttachBusAnalyzer
static void GetBusAnalyzerInfo ( int  busId,
out BusAnalyzerInfo  info 
)
inlinestatic
static void SetBusVolume ( string  busName,
float  volume 
)
inlinestatic

设置DSP总线音量

参数
busNameDSP总线名
volume音量值
说明:
设置DSP总线音量。
发送类型在后音量、Post-Pan的发送目标有效。

音量值是在0.0f~1.0f的范围内指定实数值。
音量值是针对音频数据的振幅的倍率(单位不是分贝)。
例如,指定为1.0f时,将按照原有的音量输出原音。
指定为0.5f时,将会以等同于原音波形一半振幅的音量(-6dB) 来输出音频。
指定为0.0f时,音频将被静音(更改为无音状态)。
音量的预设值为CRI Atom Craft设置的值。
static void SetBusVolume ( int  busId,
float  volume 
)
inlinestatic
弃用:
将被删除的非推荐API。 请考虑使用 CriAtomExAsr.SetBusVolume(string busName, float volume)
static void SetBusSendLevel ( string  busName,
string  sendTo,
float  level 
)
inlinestatic

设置DSP总线发送Level

参数
busNameDSP总线名
sendTo发送目标DSP总线名
levelLevel值
说明:
为发送目标DSP总线设置发送音频数据时的Level。

Level值是在0.0f~1.0f的范围内指定实数值。
Level值是针对音频数据的振幅的倍率(单位不是分贝)。
例如,指定为1.0f时,将按照原有的Level输出原音。
指定为0.5f时,将会以等同于原音波形一半振幅的音量(-6dB) 来输出音频。
指定为0.0f时,音频将被静音(更改为无音状态)。
Level的预设值是用CRI Atom Craft设置的值。
static void SetBusSendLevel ( int  busId,
int  sendTo,
float  level 
)
inlinestatic
弃用:
将被删除的非推荐API。 请考虑使用 CriAtomExAsr.SetBusSendLevel(string busName, string sendTo, float level)
static void SetBusMatrix ( string  busName,
int  inputChannels,
int  outputChannels,
float[]  matrix 
)
inlinestatic

设置DSP总线的Level矩阵

参数
busNameDSP总线名
inputChannels输入声道数
outputChannels输出声道数
matrix以1维方式表示Level矩阵的Level值的数组
说明:
设置DSP总线的Level矩阵。
发送类型在Post-Pan的发送目标有效。

Level矩阵用于指定音频数据的各声道的音频、从扬声器输出 的音量程度。
matrix是[input_channels * output_channels]的数组。
从输入声道ch_in发送至输出声道ch_out的Level是设置在 matrix[ch_in * output_channels + ch_out]。
Level矩阵的预设值是单位矩阵。

Level值是在0.0f~1.0f的范围内指定实数值。
Level值是针对音频数据的振幅的倍率(单位不是分贝)。
例如,指定为1.0f时,将按照原有的Level输出原音。
指定为0.5f时,将会以等同于原音波形一半振幅的音量(-6dB) 来输出音频。
指定为0.0f时,音频将被静音(更改为无音状态)。
static void SetBusMatrix ( int  busId,
int  inputChannels,
int  outputChannels,
float[]  matrix 
)
inlinestatic
static void SetEffectBypass ( string  busName,
string  effectName,
bool  bypass 
)
inlinestatic

设置DSP总线效果的Bypass

参数
busName总线名
effectName效果名
bypassBypass设置(True:设置Bypass, False:不设置Bypass)
说明:
设置效果的Bypass。
设置了Bypass的效果在音频处理时,会被直通。
设置效果的Bypass时,在调用本函数前, 需要事先添加DSP总线设置。
哪个总线存在哪种效果取决于所添加的DSP总线设置。
如果指定的总线上没有所指定的ID的效果,则函数将会失败。
注意:
音频播放过程中,如果设置Bypass,可能会发生噪声。
static void SetEffectParameter ( string  busName,
string  effectName,
uint  parameterIndex,
float  parameterValue 
)
inlinestatic

设置DSP总线效果动作时的参数

参数
busName总线名
effectName效果名
parameterIndex效果动作时参数索引
parameterValue效果动作时参数设置值
说明:
设置DSP总线效果的动作时参数。

哪个总线存在哪种效果取决于所添加的DSP总线设置。
如果指定的总线上没有所指定的ID的效果,则函数将会失败。
static float GetEffectParameter ( string  busName,
string  effectName,
uint  parameterIndex 
)
inlinestatic

获取DSP总线效果动作时的参数

参数
busName总线名
effectName效果名
parameterIndex效果动作时参数索引
说明:
获取DSP总线效果的动作时参数值。

哪个总线存在哪种效果取决于所添加的DSP总线设置。
如果指定的总线上没有所指定的ID的效果,则函数将会失败。
static bool RegisterEffectInterface ( IntPtr  afx_interface)
inlinestatic

注册用户定义效果界面

参数
afx_interface附带用户定义效果的版本信息的界面
返回
是否注册成功(True:注册成功, False:注册失败)
说明:
将用户定义效果界面注册至ASR。
注册了用户定义效果界面的效果可以在添加DSP总线设置时使用。
符合以下条件时,用户定义效果界面的注册将会失败,将会返回错误回调:
  • 已经注册了具有相同效果名的用户定义效果界面
  • 与Atom使用的用户定义效果界面不同
  • 用户定义效果界面的注册数已达到上限
注意:
本API仅在用CRI ADX Audio Effect Plugin SDK注册用户定义效果时可以使用。
请务必在调用 CriAtomPlugin::InitializeLibrary 后 到调用 CriAtomEx::AttachDspBusSetting 前的期间内调用本函数。
完成注册的界面的指针在 CriAtomEx::DetachDspBusSetting 被调用前,会一直被参照。
使用程序库过程中,如果要解除界面注册,请使用 CriAtomExAsr::UnregisterEffectInterface。
参见
CriAtomExAsr::UnregisterEffectInterface, CriAtomEx::AttachDspBusSetting, CriAtomEx::DetachDspBusSetting
static void UnregisterEffectInterface ( IntPtr  afx_interface)
inlinestatic

解除用户定义效果界面注册

参数
afx_interface附带用户定义效果的版本信息的界面
说明:
解除用户定义的效果界面的注册。
解除注册的效果在添加DSP总线设置后,无法再使用。
无法解除未进行注册处理的用户定义效果界面 的注册(会返回错误回调)。
注意:
本API仅在用CRI ADX Audio Effect Plugin SDK解除注册的效果时可以使用。
参见
CriAtomExAsr::RegisterEffectInterface
static void GetBusVolume ( string  busName,
out float  volume 
)
inlinestatic

总线音量的获取

参数
busName总线名
volume音量值
说明:
获取总线的音量。

会获取原始音量值。
音量的预设值是CRI Atom Craft中设置的值。
static void EnableBinauralizer ( Boolean  enabled)
inlinestatic

启用Binauralizer

参数
enabled启用标记
说明:
启用Binauralizer。
备注:
Binauralizer 只能与 CriAtomEx.SoundRendererType 设置为 Spatial 的 ASR Rack 一起使用。
如果Binauralizer的Spatializer接口已注册,则将使用此注册的Spatializer。
如果未注册,将使用 Atom 的内置Spatializer。

static bool IsEnabledBinauralizer ( )
inlinestatic

Binauralizer的启用状态的获取

返回
启用状态
说明:
获取Binauralizer的启用状态。

static int GetPcmOutput ( int  outputChannels,
int  outputSamples,
float  buffer[][] 
)
inlinestatic

获取PCM输出

参数
outputChannels要获取的声道数量
outputSamples要获取的PCM样本数量
buffer用于写入PCM样本的缓冲区
返回
已获取的PCM样本数量
说明:
获取从Atom输出的PCM样本。
注意:
本函数只在编辑器执行模式下适用。
只有在用户PCM输出模式被启用和初始化的情况下才起作用。
static int GetNumBufferedPcmOutputSamples ( )
inlinestatic

可用的PCM输出的样本数的获取

返回
可用的PCM输出样本数
说明:
从Atom中输出可获取的PCM样本数。
注意:
本函数只在编辑器执行模式下适用。
只有在用户PCM输出模式被启用和初始化的情况下才起作用。
static void SetPcmBufferSize ( int  numSamples)
inlinestatic

PCM输出样本的缓冲区大小的设置

参数
numSamplesPCM输出样本的缓冲区大小
说明:
设置从Atom输出的PCM样本的缓冲区大小。
设置较小值可以减少在 CriWare.CriAtomExAsr::GetPcmOutput 中获取输出的延迟,但当调用的频率不足够时,可能会造成声音中断等问题。
注意:
本函数只在编辑器执行模式下适用。
只有在用户PCM输出模式被启用和初始化的情况下才起作用。
static void PauseOutputVoice ( bool  sw)
inlinestatic

暂停/取消暂停所有播放

参数
swtrue:暂停音频、false:取消暂停音频
说明:
暂停或取消暂停ADX库上的所有播放。
使用flag参数指定是否进行暂停或取消暂停。

本函数主要用于以下用途。
  • 在整个游戏过程中暂停音频

该类的文档由以下文件生成: