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

用于捕获音频的麦克风 更多...

继承自 CriDisposable .

struct  Config
 AtomEx麦克风创建用配置结构体 更多...
 
struct  DeviceInfo
 麦克风设备信息结构体 更多...
 
class  Effect
 麦克风效果 更多...
 

Public 成员函数

override void Dispose ()
 丢弃麦克风 更多...
 
void Start ()
 开始麦克风音频输入 更多...
 
void Stop ()
 停止麦克风音频输入 更多...
 
int GetNumChannels ()
 获取麦克风声道数 更多...
 
int GetSamplingRate ()
 获取麦克风采样频率 更多...
 
uint GetNumBufferedSamples ()
 获取缓冲的数据的样本数 更多...
 
uint GetNumBufferredSamples ()
 
bool IsAvailable ()
 获取麦克风可否使用状态 更多...
 
uint ReadData (float[] bufferMono)
 读取麦克风输入数据(单声道) 更多...
 
uint ReadData (float[] bufferMono, uint numToRead)
 读取麦克风输入数据(单声道) 更多...
 
uint ReadData (float[] bufferL, float[] bufferR)
 麦克风输入数据的读取(立体声) 更多...
 
uint ReadData (float[] bufferL, float[] bufferR, uint numToRead)
 麦克风输入数据的读取(立体声) 更多...
 
uint ReadData (float[][] buffers)
 读取麦克风输入数据(多声道) 更多...
 
uint ReadData (float[][] buffers, uint numToRead)
 读取麦克风输入数据(多声道) 更多...
 
void SetOutputWriteStream (CriAudioWriteStream stream)
 设置右侧串流 更多...
 
CriAudioReadStream GetOutputReadStream ()
 获取读取串流 更多...
 
Effect AttachEffect (IntPtr afxInterface, float[] configParameters)
 添加效果 更多...
 
void DetachEffect (Effect effect)
 删除效果 更多...
 
void SetEffectParameter (Effect effect, int parameterIndex, float parameterValue)
 设置效果参数 更多...
 
float GetEffectParameter (Effect effect, int parameterIndex)
 获取效果参数 更多...
 
void SetEffectBypass (Effect effect, bool bypass)
 设置效果Bypass 更多...
 
void UpdateEffectParameters (Effect effect)
 设置效果参数 更多...
 

静态 Public 成员函数

static void InitializeModule ()
 CriAtomMic 模块初始化 更多...
 
static void FinalizeModule ()
 结束 CriAtomMic 模块 更多...
 
static void SetupOutputCategoryForMic_IOS (bool enable)
 [iOS] 面向麦克风输入的输出类别的设置 更多...
 
static DeviceInfo[] GetDevices ()
 获取麦克风设备 更多...
 
static int GetNumDevices ()
 获取麦克风设备数 更多...
 
static DeviceInfo GetDefaultDevice ()
 获取预设麦克风设备 更多...
 
static bool IsFormatSupported (Config config)
 获取格式支持情况 更多...
 
static CriAtomExMic Create (Config?config=null)
 创建AtomEx麦克风 更多...
 

详细描述

用于捕获音频的麦克风

说明:
是用来捕获从物理麦克风和音频设备输入的类。
执行开始输入、获取状态、获取数据等控制。
此外,还可以通过 CriWare.CriAtomExMic::GetDevices 获取音频输入设备的信息。

成员函数说明

static void InitializeModule ( )
inlinestatic

CriAtomMic 模块初始化

说明:
对 CriAtomMic 模块进行初始化。
要使用模块的功能时,必须执行该函数。
(执行本函数后,模块的功能可在执行 CriWare.CriAtomExMic::FinalizeModule 函数前使用。)
注意:
执行本函数后,请务必执行成对的 CriWare.CriAtomExMic::FinalizeModule 函数。
此外,在执行 CriWare.CriAtomExMic::FinalizeModule 函数前,无法再次执行本函数。
参见
CriAtomExMic::FinalizeModule
static void FinalizeModule ( )
inlinestatic

结束 CriAtomMic 模块

说明:
结束 CriAtomMic 模块。
参见
CriAtomExMic::InitializeModule
static void SetupOutputCategoryForMic_IOS ( bool  enable)
inlinestatic

[iOS] 面向麦克风输入的输出类别的设置

参数
enable启用或禁用该设置(True:启用,False:禁用)
说明:
该函数会进行类别配置(AVAudioSessionCategory)以在iOS中使用麦克风。

调用本函数进行的处理也会在 CriWare.CriAtomExMic::InitializeModuleCriWare.CriAtomExMic::FinalizeModule 中执行。
因此,一般不需要调用本函数。
仅当需要更改 AVAudioSessionCategory 设置 以使用 CriAtomExMic 模块以外的外部麦克风输入模块时,才应使用此函数。
参见
CriAtomExMic::InitializeModule, CriAtomExMic::FinalizeModule
static DeviceInfo [] GetDevices ( )
inlinestatic

获取麦克风设备

返回
麦克风设备数组
说明:
获取麦克风设备信息。
参见
CriAtomExMic::GetDefaultDevice
static int GetNumDevices ( )
inlinestatic

获取麦克风设备数

返回
麦克风设备数
说明:
获取终端上连接的麦克风设备数量。
参见
CriAtomExMic::GetDevices
static DeviceInfo GetDefaultDevice ( )
inlinestatic

获取预设麦克风设备

返回
麦克风设备结构体
说明:
获取预设的麦克风设备的信息。
参见
CriAtomExMic::GetDevices
static bool IsFormatSupported ( Config  config)
inlinestatic

获取格式支持情况

参数
config配置信息
返回
True:支持, False:不支持
说明:
获取是否支持所指定的配置信息的格式。
参见
CriAtomExMic::GetDevices
static CriAtomExMic Create ( Config config = null)
inlinestatic

创建AtomEx麦克风

参数
config配置信息
返回
AtomEx麦克风
说明:
创建用于捕获音频的麦克风实例。

执行 CriWare.CriAtomExMic::Create 函数后,将会创建 AtomEx麦克风, 并返回用于控制麦克风的实例( CriAtomExMic )。

如果音频输入设备的打开失败,则本函数会返回null。
实际要开始音频输入时,请执行 CriWare.CriAtomExMic::Start 函数。
输入的音频数据是通过 CriWare.CriAtomExMic::ReadData 函数来进行获取。
参见
CriAtomExMic::Destroy
override void Dispose ( )
inline

丢弃麦克风

说明:
丢弃音频输入用的麦克风。
注意:
本函数是完成返回型函数。在不同的平台上,执行所需的时间也会不同。
在游戏循环等需要更新画面时,如果执行本函数, 可能会以毫秒单位将处理阻断,导致发生丢帧。
要创建/丢弃麦克风时,请在场景切换等 能承受负荷变动的时候进行操作。
参见
CriAtomExMic::Create
void Start ( )
inline

开始麦克风音频输入

说明:
开始麦克风的音频输入。
参见
CriAtomExMic::Create, CriAtomExMic::Stop
void Stop ( )
inline

停止麦克风音频输入

说明:
停止麦克风的音频输入。
参见
CriAtomExMic::Create, CriAtomExMic::Start
int GetNumChannels ( )
inline

获取麦克风声道数

返回
声道数
说明:
获取麦克风的声道数。
int GetSamplingRate ( )
inline

获取麦克风采样频率

返回
采样频率
说明:
获取麦克风的采样频率。
uint GetNumBufferedSamples ( )
inline

获取缓冲的数据的样本数

返回
缓冲的样本数
说明:
获取内部缓冲区已有的麦克风输入数据的样本数。
uint GetNumBufferredSamples ( )
inline
弃用:
将被删除的非推荐API。 请考虑使用 CriWare.CriAtomExMic.GetNumBufferedSamples
bool IsAvailable ( )
inline

获取麦克风可否使用状态

返回
是否可以使用(True:可以使用,False:不可以使用)
说明:
检查音频输入设备的状态,获取是否可以使用。
uint ReadData ( float[]  bufferMono)
inline

读取麦克风输入数据(单声道)

参数
bufferMono数据缓冲区
返回
已获取的样本数
说明:
获取输入至麦克风的数据。
如果未定期调用本函数,则内部缓冲区会被填满, 此时无法进入缓冲的数据将被丢弃。
注意:
本函数仅在指定声道数1来调用 CriWare.CriAtomExMic::Start 时 有效。
其他情况下,断言会失败。
uint ReadData ( float[]  bufferMono,
uint  numToRead 
)
inline

读取麦克风输入数据(单声道)

参数
bufferMono数据缓冲区
numToRead读取的样本数
返回
已获取的样本数
说明:
获取输入至麦克风的数据。
如果未定期调用本函数,则内部缓冲区会被填满, 此时无法进入缓冲的数据将被丢弃。
注意:
本函数仅在指定声道数1来调用 CriWare.CriAtomExMic::Start 时 有效。
其他情况下,断言会失败。
uint ReadData ( float[]  bufferL,
float[]  bufferR 
)
inline

麦克风输入数据的读取(立体声)

参数
bufferL数据缓冲区(L声道)
bufferR数据缓冲区(R声道)
返回
已获取的样本数
说明:
获取输入至麦克风的数据。
如果未定期调用本函数,则内部缓冲区会被填满, 此时无法进入缓冲的数据将被丢弃。
注意:
本函数仅在指定声道数2来调用 CriWare.CriAtomExMic::Start 时 有效。
其他情况下,断言会失败。
此外,请将各数据缓冲区设置为相同的数组长度。
uint ReadData ( float[]  bufferL,
float[]  bufferR,
uint  numToRead 
)
inline

麦克风输入数据的读取(立体声)

参数
bufferL数据缓冲区(L声道)
bufferR数据缓冲区(R声道)
numToRead读取的样本数
返回
已获取的样本数
说明:
获取输入至麦克风的数据。
如果未定期调用本函数,则内部缓冲区会被填满, 此时无法进入缓冲的数据将被丢弃。
注意:
本函数仅在指定声道数2来调用 CriWare.CriAtomExMic::Start 时 有效。
其他情况下,断言会失败。
此外,请将各数据缓冲区设置为 numToRead 以上的数组长度。
uint ReadData ( float  buffers[][])
inline

读取麦克风输入数据(多声道)

参数
buffers数据缓冲区数组
返回
已获取的样本数
说明:
获取输入至麦克风的数据。
如果未定期调用本函数,则内部缓冲区会被填满, 此时无法进入缓冲的数据将被丢弃。
注意:
传递给本函数的数据缓冲区数组的长度必须大于传递给 CriAtomExMic::StartCriAtomExMic::Config 的声道数。
其他情况下,断言会失败。
此外,请将各数据缓冲区设置为 numToRead 以上的数组长度。
uint ReadData ( float  buffers[][],
uint  numToRead 
)
inline

读取麦克风输入数据(多声道)

参数
buffers数据缓冲区数组
numToRead读取的样本数
返回
已获取的样本数
说明:
获取输入至麦克风的数据。
如果未定期调用本函数,则内部缓冲区会被填满, 此时无法进入缓冲的数据将被丢弃。
注意:
传递给本函数的数据缓冲区数组的长度必须与传递给 CriWare.CriAtomExMic::StartCriAtomExMic::Config 的声道数相等。
其他情况下,断言会失败。
此外,请将各数据缓冲区设置为 numToRead 以上的数组长度。
void SetOutputWriteStream ( CriAudioWriteStream  stream)
inline

设置右侧串流

参数
stream右侧串流
说明:
为麦克风设置输出方向的右侧串流。
右侧串流的回调函数是在麦克风输入时被调用。
回调函数在大多数平台上会从其他线程被调用 因此被调用的一侧需要安装线程安全。
CriAudioReadStream GetOutputReadStream ( )
inline

获取读取串流

返回
读取串流的回调函数
说明:
获取麦克风的输出方向的读取串流。
调用读取串流的回调函数时,需要为第1参数指定AtomEx麦克风句柄。
如果未定期调用读取串流的回调函数,则内部缓冲区会被填满, 此时无法进入缓冲的数据将被丢弃。
Effect AttachEffect ( IntPtr  afxInterface,
float[]  configParameters 
)
inline

添加效果

参数
afxInterfaceCriAfx界面
configParametersCriAfx创建用配置参数数组
返回
麦克风效果
说明:
为麦克风添加效果。
要添加的效果需要在CriAfx界面中事先创建。

麦克风动作过程中,如果执行本函数,会导致突然进行效果处理, 因此可能会造成声音中混入噪声。
void DetachEffect ( Effect  effect)
inline

删除效果

参数
effect麦克风效果
说明:
删除麦克风的效果。

麦克风动作过程中,如果执行本函数,会导致效果处理突然中止, 因此可能会造成声音中混入噪声。
参见
CriAtomExMic::AttachEffect
void SetEffectParameter ( Effect  effect,
int  parameterIndex,
float  parameterValue 
)
inline

设置效果参数

参数
effect麦克风效果
parameterIndex参数索引
parameterValue参数值
说明:
设置麦克风效果的参数。
指定参数的索引,设置所对应的参数值。

由于只调用本函数不会在效果中反映参数, 因此最后需要执行criAtomMic_UpdateEffectParameters来反映参数。
参见
CriAtomExMic::UpdateEffectParameters
float GetEffectParameter ( Effect  effect,
int  parameterIndex 
)
inline

获取效果参数

参数
effect麦克风效果
parameterIndex参数索引
返回
参数值
说明:
为麦克风的效果获取参数。
如果指定参数的索引,则将会返回所对应的参数值。
void SetEffectBypass ( Effect  effect,
bool  bypass 
)
inline

设置效果Bypass

参数
effect麦克风效果
bypassBypass设置
说明:
设置麦克风效果的Bypass。
如果将Bypass指定为True,则将不会再进行效果处理。
void UpdateEffectParameters ( Effect  effect)
inline

设置效果参数

参数
effect麦克风效果
说明:
设置麦克风效果的参数。
指定参数的索引,设置所对应的参数值。

由于只调用本函数不会在效果中反映参数, 因此最后需要执行criAtomMic_UpdateEffectParameters来反映参数。
参见
CriAtomExMic::UpdateEffectParameters

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