CRIWARE Unity Plugin Manual  Last Updated: 2024-02-07
CriAtomExMic クラス

音声キャプチャするためのマイク [詳解]

CriDisposableを継承しています。

クラス

struct  Config
 AtomExマイク作成用コンフィグ構造体 [詳解]
 
struct  DeviceInfo
 マイクデバイス情報構造体 [詳解]
 
class  Effect
 マイクエフェクト [詳解]
 

公開メンバ関数

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)
 エフェクトのバイパス設定 [詳解]
 
void UpdateEffectParameters (Effect effect)
 エフェクトパラメータの設定 [詳解]
 

静的公開メンバ関数

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: 無効化する)
説明:
iOSにおいてマイクを利用するためのカテゴリ(AVAudioSessionCategory)設定を行います。

本関数の呼び出しによって行われる処理は、同様の内容が CriWare.CriAtomExMic::InitializeModule および CriWare.CriAtomExMic::FinalizeModule 内で行われています。
このため、本関数は通常は呼び出す必要がありません。
CriAtomExMic モジュール以外の外部マイク入力モジュールを利用するためにAVAudioSessionCategory設定を 変更する必要がある場合などにのみご利用ください。
参照
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::Start に渡した CriAtomExMic::Config のチャンネル数以上である必要があります。
その他の場合はアサート失敗します。
また、各データバッファはすべて numToRead 以上の配列長となるようにしてください。
uint ReadData ( float  buffers[][],
uint  numToRead 
)
inline

マイク入力データの読み出し(マルチチャンネル)

引数
buffersデータバッファ配列
numToRead読み出すサンプル数
戻り値
取得できたサンプル数
説明:
マイクに入力されたデータを取得します。
本関数は定期的に呼び出しを行わず内部バッファが一杯になると、 バッファに入りきらないデータは捨てられます。
注意:
本関数に渡すデータバッファ配列の配列長は、 CriWare.CriAtomExMic::Start に渡した CriAtomExMic::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

エフェクトのバイパス設定

引数
effectマイクエフェクト
bypassバイパス設定
説明:
マイクのエフェクトのバイパスを設定します。
bypassにTrueを指定するとエフェクトの処理が行われなくなります。
void UpdateEffectParameters ( Effect  effect)
inline

エフェクトパラメータの設定

引数
effectマイクエフェクト
説明:
マイクのエフェクトにパラメータを設定します。
パラメータのインデックスを指定して対応したパラメータの値を設定します。

本関数を呼ぶだけではエフェクトにパラメータの反映が行われないため、 最終的にcriAtomMic_UpdateEffectParametersを実行してパラメータを反映させる必要があります。。
参照
CriAtomExMic::UpdateEffectParameters

このクラス詳解は次のファイルから抽出されました: