Class CriAtomAuxIn
AuxInハンドル
Implements
Inherited Members
Namespace: CriWare
Assembly: CriWare.CriAtom.dll
Syntax
public class CriAtomAuxIn : IDisposable
Remarks
説明: CriAtomAuxIn は、外部のリアルタイム音声を再生するための AuxInを操作するためのオブジェクトです。 CriAtomAuxIn 関数でAuxInを作成すると、関数はこの"AuxInオブジェクト"を返します。 AuxInは、マイクの音声やボイスチャットの音声、合成音声といった外部のリアルタイム音声を 入力しバスやサウンド出力に流すことができます。 入力する音声は SetInputReadStream(delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint>, IntPtr) に指定するコールバック関数を 経由してAuxInに渡します。
Constructors
CriAtomAuxIn()
デフォルト設定でのインスタンス作成
Declaration
public CriAtomAuxIn()
CriAtomAuxIn(in Config)
AuxInの作成
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| CriAtomAuxIn.Config | config | AuxIn作成用コンフィグ構造体 |
Remarks
説明: 音声入力用のAuxInを作成します。 CriAtomAuxIn(in Config) 関数を実行すると、AtomAuxInが作成され、 AuxInを制御するためのオブジェクト( CriAtomAuxIn )が返されます。 音声再生の開始、ステータスの取得等、AtomAuxInに対して 行う操作は、全てオブジェクトに対して行います。 実際に音声再生を開始するにはStart() 関数を実行します。 入力する音声は SetInputReadStream(delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint>, IntPtr) に指定するコールバック関数を 経由してAuxInに渡します。 AuxInを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。
注意: 本関数は完了復帰型の関数です。実行にかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 マイクの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
See Also
Properties
NativeHandle
ネイティブハンドル
Declaration
public NativeHandleIntPtr NativeHandle { get; }
Property Value
| Type | Description |
|---|---|
| NativeHandleIntPtr |
Methods
CalculateWorkSize(in Config)
ProAuxInのワーク領域サイズ計算
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| CriAtomAuxIn.Config | config | AuxIn作成用コンフィグ構造体 |
Returns
| Type | Description |
|---|---|
| int |
Remarks
説明: AuxInの作成に必要なワーク領域のサイズを計算します。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドによるアロケータ登録を行わずに CriAtomAuxIn(in Config) 関数でAuxInを作成する場合、 本関数で計算したサイズ分のメモリをワーク領域として渡す必要があります。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考: 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
See Also
Dispose()
ProAuxInの破棄
Declaration
Remarks
説明: AuxInを破棄します。
注意: 本関数は完了復帰型の関数です。実行にかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 マイクの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
See Also
GetFormat(out int, out int)
Proフォーマットの取得
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| int | numChannels | チャンネル数 |
| int | samplingRate | サンプリング周波数 |
Remarks
See Also
SetBusSendLevelByName(ArgString, float)
Proバスセンドレベル設定
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| ArgString | busName | バス名 |
| float | level | レベル値(0.0f?1.0f) |
Remarks
説明: AuxInの音声のバスセンドレベルを設定します。 バスセンドレベルは、音声をどのバスにどれだけ流すかを指定するための仕組みです。 第2引数にはDSPバス設定内のバス名を指定します。 第3引数では送信時のレベル(ボリューム)を指定します。 第2引数のバス名で指定したバスが適用中のDSPバス設定に存在しない場合、設定値は無効値として処理されます。 センドレベル値の範囲や扱いは、ボリュームと同等です。SetVolume(float) 関数を参照してください。
See Also
SetFormat(int, int)
Proフォーマットの設定
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| int | numChannels | チャンネル数 |
| int | samplingRate | サンプリング周波数 |
Remarks
See Also
SetFrequencyRatio(float)
Pro周波数調整比の設定
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| float | ratio | 周波数調整比(0.25f~4.0f) |
Remarks
説明: AuxInの音声の周波数調整比を設定します。 周波数調整比は、音声データの周波数と再生周波数の比率で、再生速度の倍率と等価です。 周波数比が1.0fを超える場合、音声データは原音より高速に再生され、 1.0f未満の場合は、音声データは原音より低速で再生されます。 周波数比は、音声のピッチにも影響します。 例えば、周波数比を1.0fで再生した場合、音声データは原音通りのピッチで再生されますが、 周波数比を2.0fに変更した場合、ピッチは1オクターブ上がます。 (再生速度が2倍になるため。)
注意: 周波数比に1.0fを超える値を設定した場合、再生する音声のデータが通常より 速く消費されるため、音声データの供給をより早く行う必要があります。 周波数比に1.0fを超える値を設定する場合には、AuxIn作成時に指定する 最大サンプリングレートの値を、周波数比を考慮した値に設定してください。 (AuxIn作成時に指定する CriAtomAuxIn.Config 構造体 の max_sampling_rate の値に、「原音のサンプリングレート×周波数比」で 計算される値を指定する必要があります。)
See Also
SetInputReadStream(delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint>, IntPtr)
Proリードストリームの設定
Declaration
public void SetInputReadStream(delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint> streamCbfunc, IntPtr streamPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint> | streamCbfunc | リードストリームのコールバック関数 |
| IntPtr | streamPtr | リードストリームのコールバック関数に渡されるポインタ |
Remarks
説明: AuxInの入力方向のリードストリームを設定します。 コールバック関数は大抵のプラットフォームで別スレッドから呼ばれるため、 呼ばれる側はスレッドセーフ実装する必要があります。
SetVolume(float)
Proボリューム設定
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| float | volume | ボリューム値 |
Remarks
説明: AuxInの音声のボリュームを設定をします。 ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。 例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。 0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。 0.0fを指定した場合、音声はミュートされます(無音になります)。
See Also
Start()
ProAuxInの再生開始
Declaration
Remarks
説明: AuxInの再生を開始します。
See Also
Stop()
ProAuxInの再生停止
Declaration
Remarks
説明: AuxInの再生を停止します。