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

音频输出数据解析模块(Player/源单位) 更多...

类 CriAtomExPlayerOutputAnalyzer 继承关系图:
CriAtomExOutputAnalyzer

struct  Config
 音频输出数据解析模块配置结构体 更多...
 

Public 类型

enum  Type { LevelMeter = 0, SpectrumAnalyzer = 1, PcmCapture = 2 }
 解析处理类型 更多...
 

Public 成员函数

 CriAtomExPlayerOutputAnalyzer (Type[] types, Config[] configs=null)
 创建音频输出数据解析模块 更多...
 
delegate void PcmCaptureCallback (float[] dataL, float[] dataR, int numChannels, int numData)
 获取波形回调 更多...
 
override void Dispose ()
 输出数据解析模块 更多...
 
bool AttachExPlayer (CriAtomExPlayer player)
 添加AtomExPlayer 更多...
 
void DetachExPlayer ()
 切断AtomExPlayer 更多...
 
bool AttachDspBus (string busName)
 添加DSP总线 更多...
 
void DetachDspBus ()
 切断DSP总线 更多...
 
float GetRms (int channel)
 获取添加中的音频输出的RMS Level 更多...
 
void GetSpectrumLevels (ref float[] levels)
 获取频谱解析结果 更多...
 
void GetPcmData (ref float[] data, int ch)
 获取添加中的音频输出的波形数据 更多...
 
void SetPcmCaptureCallback (PcmCaptureCallback callback)
 注册获取波形数据的回调 更多...
 
void ExecutePcmCaptureCallback ()
 执行获取波形数据回调 更多...
 
void ExecutePcmCaptureCallback (PcmCaptureCallback callback)
 

Public 属性

const int MaximumSpectrumBands = 512
 频谱分析仪的最大带通数 更多...
 

详细描述

音频输出数据解析模块(Player/源单位)

弃用:
削除予定の非推奨APIです。 CriWare.CriAtomExOutputAnalyzer クラスの使用を検討してください。
说明:
针对各CriAtomSource/CriAtomExPlayer进行音频输出解析。
提供电平表功能等。
注意:
将来本类将会被废除。请使用 CriWare.CriAtomExOutputAnalyzer
使用HCA-MX或平台专用的音频压缩编解码器时,无法进行解析。
请使用HCA或ADX编解码器。

成员枚举类型说明

enum Type
strong

解析处理类型

说明:
用于显示创建解析模块时指定的解析处理类型的值。
参见
CriAtomExOutputAnalyzer
枚举值
LevelMeter 

电平表(RMS Level测量)

SpectrumAnalyzer 

频谱分析仪

PcmCapture 

获取波形数据

构造及析构函数说明

CriAtomExPlayerOutputAnalyzer ( Type[]  types,
Config[]  configs = null 
)
inline

创建音频输出数据解析模块

返回
音频输出数据解析模块
说明:
创建CriAtomSource/CriAtomExPlayer的输出音频数据的解析模块。
创建的解析模块添加在CriAtomSource或CriAtomExPlayer上使用。
针对添加的音频输出,进行电平表等解析。
备注:
解析模块上可以添加的CriAtomSource/CriAtomExPlayer总线仅限一个。
如果要重用解析模块时,请将其切断。
注意:
将来本类将会被废除。请使用CriAtomExOutputAnalyzer。
创建音频输出数据解析模块时,将会取得非托管的资源。
解析模块不再需要时,请务必调用 CriAtomExPlayerOutputAnalyzer.Dispose 方法。

成员函数说明

delegate void PcmCaptureCallback ( float[]  dataL,
float[]  dataR,
int  numChannels,
int  numData 
)
inherited

获取波形回调

说明:
用于获取输出的波形数据的回调。
override void Dispose ( )
inlineinherited

输出数据解析模块

说明:
丢弃输出数据解析模块。
一旦执行本函数,创建输出数据解析模块时在插件内取得的资源将全部被释放。
为防止内存泄露,当不再需要输出数据解析模块后,请调用本方法。
注意:
本函数是完成返回型函数。
如果有已添加的AtomExPlayer,则将会在本函数内进行切断。
请注意对象的AtomExPlayer正在播放的音频将会被强行停止。
参见
CriAtomExOutputAnalyzer::CriAtomExOutputAnalyzer
bool AttachExPlayer ( CriAtomExPlayer  player)
inlineinherited

添加AtomExPlayer

返回
添加是否成功(成功:True,失败:False)
说明:
添加用于解析输出数据的AtomExPlayer。
无法添加多个AtomExPlayer。 如果在添加状态下,添加了其他AtomExPlayer,则目前处于添加状态的AtomExPlayer将会被切断。

要添加CriAtomSource时,请使用CriAtomSource::AttachToOutputAnalyzer。
注意:
需要在播放开始前执行添加。如果在播放开始后执行添加,将会失败。

如果在切断用本函数添加的AtomExPlayer前将其丢弃, 则切断时会发生存取错误。
请务必先进行切断后,在将AtomExPlayer丢弃。
参见
CriAtomExOutputAnalyzer::DetachExPlayer, CriAtomSource::AttachToOutputAnalyzer
void DetachExPlayer ( )
inlineinherited

切断AtomExPlayer

说明:
切断用于解析输出数据的AtomExPlayer。
切断后,将无法再执行以后的解析处理。
注意:
如果在已添加的Player正在播放音频的状态下,调用本函数, 则将会强行停止播放并进行切断。

已添加的AtomExPlayer已被丢弃时,将会发生存取错误。
请务必将本函数或CriAtomExOutputAnalyzer::Dispose调用后, 再对AtomExPlayer进行丢弃。
参见
CriAtomExOutputAnalyzer::AttachExPlayer, CriAtomExOutputAnalyzer::Dispose
bool AttachDspBus ( string  busName)
inlineinherited

添加DSP总线

返回
添加是否成功(成功:True,失败:False)
说明:
添加用于解析输出数据的DSP总线。
无法添加多个DSP总线。 如果在添加状态下,添加了其他DSP总线,则目前处于添加状态的DSP总线将会被切断。
参见
CriAtomExOutputAnalyzer::DetachDspBus
void DetachDspBus ( )
inlineinherited

切断DSP总线

说明:
切断用于解析输出数据的DSP总线。
切断后,将无法再执行以后的解析处理。
参见
CriAtomExOutputAnalyzer::AttachDspBus, CriAtomExOutputAnalyzer::Dispose
float GetRms ( int  channel)
inlineinherited

获取添加中的音频输出的RMS Level

参数
channel声道编号
返回
RMS Level
说明:
获取添加中的音频输出的RMS Level。
如果使用本功能,请为Config的enableLevelmeter指定True来创建模块。
参见
CriAtomExOutputAnalyzer::AttachExPlayer, CriAtomExOutputAnalyzer::AttachDspBus
void GetSpectrumLevels ( ref float[]  levels)
inlineinherited

获取频谱解析结果

参数
levels解析结果(各频段的振幅值)
说明:
获取由频谱分析仪解析的各频段的振幅值。
数组的元素数是创建模块创时指定的带数。
如果使用本功能,请为Config的enableSpectrumAnalyzer指定True,为numSpectrumAnalyzerBands指定 MaximumSpectrumBands以下的正数来创建模块。 如果希望像市售的频谱分析仪一样来显示解析结果, 本函数需要将返回值转换为分贝值。
例:
// 例:スペクトル解析結果を取得するコンポーネント
public class SpectrumLevelMeter : MonoBehaviour {
private CriAtomExOutputAnalyzer analyzer;
void Start() {
// 引数 config については省略。モジュールの作成時に指定したバンド数は 8 とする
this.analyzer = new CriAtomExOutputAnalyzer(config);
// CriAtomExPlayer のアタッチについては省略
}
void Update() {
// 音声再生中の実行
float[] levels = new float[8];
analyzer.GetSpectrumLevels (ref levels);
// levelsの0帯域目の振幅値をデシベル値に変換
float db = 20.0f * Mathf.Log10(levels[0]);
Debug.Log (db);
}
}
参见
CriAtomExOutputAnalyzer::AttachExPlayer, CriAtomExOutputAnalyzer::AttachDspBus
void GetPcmData ( ref float[]  data,
int  ch 
)
inlineinherited

获取添加中的音频输出的波形数据

参数
data输出数据
ch声道
说明:
获取添加中的音频输出的波形数据。
如果使用本功能,请为Config的enablePcmCapture指定True,为numCapturedPcmSamples指定 正数来创建模块。
注意:
参数的数组长度不充分时,将会在函数内取得数组。
为防止发生不必要的GC,请为参数提供比初始化配置中指定的数据样本数的长度 更长的数组。 目前可以获取的声道只有L/R。请在ch指定0或1。
参见
CriAtomExOutputAnalyzer::AttachExPlayer, CriAtomExOutputAnalyzer::AttachDspBus
void SetPcmCaptureCallback ( PcmCaptureCallback  callback)
inlineinherited

注册获取波形数据的回调

说明:
注册输出数据获取用的回调。
如果使用回调的波形数据的获取,则在调用ExecutePcmCaptureCallback前, 请通过本函数注册回调。
void ExecutePcmCaptureCallback ( )
inlineinherited

执行获取波形数据回调

说明:
执行输出数据获取用的回调。
调用本函数后,将会多次返回以从最后一次执行时起的输出差分数据 为参数的回调。
注意:
如果要使用回调的波形数据获取,请定期调用本函数。
如果长时间不调用本函数,则可以获取的波形数据将会出现欠缺。
void ExecutePcmCaptureCallback ( PcmCaptureCallback  callback)
inlineinherited
弃用:
将被删除的非推荐API。 请考虑使用 SetPcmCaptureCallback(PcmCaptureCallback)ExecutePcmCaptureCallback()

类成员变量说明

const int MaximumSpectrumBands = 512
inherited

频谱分析仪的最大带通数

说明:
是频谱分析仪可输出的带通数。

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