CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriAtomMic

    マイクハンドル

    Inheritance
    object
    CriAtomMic
    Implements
    IDisposable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: CriWare
    Assembly: CriWare.CriAtom.dll
    Syntax
    public class CriAtomMic : IDisposable
    Remarks

    説明: CriAtomMic は、外部音声の収録用に作られたマイクを操作するためのオブジェクトです。 CriAtomMic(in Config) 関数等でマイクを作成すると、 関数はマイク操作用に、この"Atomマイクオブジェクト"を返します。 入力の開始、ステータスの取得、レコーダのセット等、マイクに対して行う操作は、 全てAtomマイクオブジェクトを介して実行されます。

    Constructors

    CriAtomMic()

    デフォルト設定でのインスタンス作成

    Declaration
    public CriAtomMic()

    CriAtomMic(in Config)

    マイクの作成

    Declaration
    • C#
    • C
    public CriAtomMic(in CriAtomMic.Config config)
    CriAtomMicHn CRIAPI criAtomMic_Create(const CriAtomMicConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomMic.Config config

    マイク作成用コンフィグ構造体

    Remarks

    説明: 音声入力用のマイクを作成します。 CriAtomMic(in Config) 関数を実行すると、Atomマイクが作成され、 マイクを制御するためのオブジェクト( CriAtomMic )が返されます。 音声入力の開始、ステータスの取得等、Atomマイクに対して 行う操作は、全てオブジェクトに対して行います。 実際に音声入力を開始するにはStart() 関数を実行します。 入力された音声データはReadData(float[][], uint) 関数で取得します。 マイクを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。

    注意: 本関数は完了復帰型の関数です。実行にかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 マイクの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。

    See Also
    Dispose()

    Fields

    DefaultDeviceId

    Declaration
    public static readonly NativeString DefaultDeviceId
    Field Value
    Type Description
    NativeString

    Properties

    DeviceDisconnectedCallback

    コールバックイベントオブジェクト

    Declaration
    public CriAtomMic.DeviceDisconnectedCbFunc DeviceDisconnectedCallback { get; }
    Property Value
    Type Description
    CriAtomMic.DeviceDisconnectedCbFunc
    See Also
    SetDeviceDisconnectedCallback(delegate* unmanaged[Cdecl]<IntPtr, void>, IntPtr)

    NativeHandle

    ネイティブハンドル

    Declaration
    public NativeHandleIntPtr NativeHandle { get; }
    Property Value
    Type Description
    NativeHandleIntPtr

    Methods

    AttachEffect(IntPtr, in float, uint)

    Pro

    エフェクトの追加

    Declaration
    • C#
    • C
    public CriAtomMicEffect AttachEffect(IntPtr afxInterface, in float configParameters, uint numConfigParameters)
    CriAtomMicEffectHn CRIAPI criAtomMic_AttachEffect(CriAtomMicHn mic, const CriAfxInterfaceWithVersion *afx_interface, const CriFloat32 *config_parameters, CriUint32 num_config_parameters, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    IntPtr afxInterface

    CriAfxインターフェース

    float configParameters

    CriAfx作成用コンフィグパラメーター配列

    uint numConfigParameters

    CriAfx作成用コンフィグパラメーターの数

    Returns
    Type Description
    CriAtomMicEffect

    CriAtomMicEffect マイクエフェクトオブジェクト

    Remarks

    説明: マイクにエフェクトを追加します。 追加するエフェクトはCriAfxインターフェースで作成されている必要があります。 マイクを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 マイク動作中に本関数を実行するとエフェクト処理が急に行われるようになるため 音にノイズが入る可能性があります。

    CalculateWorkSize(in Config)

    Pro

    マイクのワーク領域サイズ計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSize(in CriAtomMic.Config config)
    CriSint32 CRIAPI criAtomMic_CalculateWorkSize(const CriAtomMicConfig *config)
    Parameters
    Type Name Description
    CriAtomMic.Config config

    マイク作成用コンフィグ構造体

    Returns
    Type Description
    int
    Remarks

    説明: マイクの作成に必要なワーク領域のサイズを計算します。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドによるアロケータ登録を行わずに CriAtomMic(in Config) 関数でマイクを作成する場合、 本関数で計算したサイズ分のメモリをワーク領域として渡す必要があります。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

    備考: 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    See Also
    CriAtomMic(in Config)

    CalculateWorkSizeForEffect(IntPtr, in float, uint)

    Pro

    エフェクトの追加に必要なワークサイズの計算

    Declaration
    • C#
    • C
    public int CalculateWorkSizeForEffect(IntPtr afxInterface, in float configParameters, uint numConfigParameters)
    CriSint32 CRIAPI criAtomMic_CalculateWorkSizeForEffect(CriAtomMicHn mic, const CriAfxInterfaceWithVersion *afx_interface, const CriFloat32 *config_parameters, CriUint32 num_config_parameters)
    Parameters
    Type Name Description
    IntPtr afxInterface

    CriAfxインターフェース

    float configParameters

    CriAfx作成用コンフィグパラメーター配列

    uint numConfigParameters

    CriAfx作成用コンフィグパラメーターの数

    Returns
    Type Description
    int

    CriSint32 ワークメモリのサイズ

    Remarks

    説明: マイクへのエフェクトの追加に必要なワークサイズを計算します。 追加するエフェクトはCriAfxインターフェースで作成されている必要があります。

    DetachEffect(CriAtomMicEffect)

    Pro

    エフェクトの削除

    Declaration
    • C#
    • C
    public void DetachEffect(CriAtomMicEffect effect)
    void CRIAPI criAtomMic_DetachEffect(CriAtomMicHn mic, CriAtomMicEffectHn effect)
    Parameters
    Type Name Description
    CriAtomMicEffect effect

    エフェクトハンドル

    Remarks

    説明: マイクのエフェクトを削除します。 マイク動作中に本関数を実行するとエフェクト処理が急に行われなくなるため 音にノイズが入る可能性があります。

    See Also
    AttachEffect(IntPtr, in float, uint)

    Dispose()

    Pro

    マイクの破棄

    Declaration
    • C#
    • C
    public void Dispose()
    void CRIAPI criAtomMic_Destroy(CriAtomMicHn mic)
    Remarks

    説明: 音声入力用のマイクを破棄します。

    注意: 本関数は完了復帰型の関数です。実行にかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 マイクの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。

    See Also
    CriAtomMic(in Config)

    FinalizeMic()

    Pro

    マイクライブラリの終了処理

    Declaration
    • C#
    • C
    public static void FinalizeMic()
    void CRIAPI criAtomMic_Finalize(void)
    Remarks

    説明: マイクライブラリの終了処理を行います。

    GetCurrentDeviceId()

    Pro

    録音中デバイスIDの取得

    Declaration
    • C#
    • C
    public NativeString GetCurrentDeviceId()
    const CriChar8* CRIAPI criAtomMic_GetCurrentDeviceId(CriAtomMicHn mic)
    Returns
    Type Description
    NativeString

    const CriChar8* デバイスID

    Remarks

    説明: 現在録音に使用されているデバイスのデバイスIDを取得します。

    See Also
    SetDeviceId(ArgString)

    GetDefaultDevice(out DeviceInfo)

    Pro

    デフォルトマイクデバイスの取得

    Declaration
    • C#
    • C
    public static bool GetDefaultDevice(out CriAtomMic.DeviceInfo info)
    CriBool CRIAPI criAtomMic_GetDefaultDevice(CriAtomMicDeviceInfo *info)
    Parameters
    Type Name Description
    CriAtomMic.DeviceInfo info

    マイクデバイス情報

    Returns
    Type Description
    bool

    CriBool true:成功, false:失敗

    Remarks

    説明: デフォルト設定されたマイクデバイスの情報を取得します。

    GetDevice(int, out DeviceInfo)

    Pro

    マイクデバイスの取得

    Declaration
    • C#
    • C
    public static bool GetDevice(int index, out CriAtomMic.DeviceInfo info)
    CriBool CRIAPI criAtomMic_GetDevice(CriSint32 index, CriAtomMicDeviceInfo *info)
    Parameters
    Type Name Description
    int index

    マイクデバイスのインデックス

    CriAtomMic.DeviceInfo info

    マイクデバイス情報

    Returns
    Type Description
    bool

    CriBool true:成功, false:失敗

    Remarks

    説明: マイクデバイスの情報を取得します。

    See Also
    GetNumDevices()

    GetDeviceId()

    Pro

    指定中のデバイスIDの取得

    Declaration
    • C#
    • C
    public NativeString GetDeviceId()
    const CriChar8* CRIAPI criAtomMic_GetDeviceId(CriAtomMicHn mic)
    Returns
    Type Description
    NativeString

    const CriChar8* デバイスID

    Remarks

    説明: SetDeviceId(ArgString) で設定したデバイスID情報を取得します。 現在録音に使用されているデバイスIDを取得する場合は GetCurrentDeviceId() を使用してください。

    See Also
    SetDeviceId(ArgString)
    GetCurrentDeviceId()

    GetEffectInstance(CriAtomMicEffect)

    Pro

    エフェクトインスタンスの取得

    Declaration
    • C#
    • C
    public IntPtr GetEffectInstance(CriAtomMicEffect effect)
    void* CRIAPI criAtomMic_GetEffectInstance(CriAtomMicHn mic, CriAtomMicEffectHn effect)
    Parameters
    Type Name Description
    CriAtomMicEffect effect

    エフェクトハンドル

    Returns
    Type Description
    IntPtr

    void* CriAfxインスタンス

    Remarks

    説明: マイクのエフェクトのCriAfxのインスタンスを取得します。

    GetEffectParameter(CriAtomMicEffect, uint)

    Pro

    エフェクトパラメーターの取得

    Declaration
    • C#
    • C
    public float GetEffectParameter(CriAtomMicEffect effect, uint parameterIndex)
    CriFloat32 CRIAPI criAtomMic_GetEffectParameter(CriAtomMicHn mic, CriAtomMicEffectHn effect, CriUint32 parameter_index)
    Parameters
    Type Name Description
    CriAtomMicEffect effect

    エフェクトハンドル

    uint parameterIndex

    パラメーターインデックス

    Returns
    Type Description
    float

    CriAtomMicEffect パラメーター値

    Remarks

    説明: マイクのエフェクトにパラメーターを取得します。 パラメーターのインデックスを指定すると対応したパラメーターの値が返ります。

    GetNumBufferedSamples()

    Pro

    バッファリングされたデータのサンプル数取得

    Declaration
    • C#
    • C
    public uint GetNumBufferedSamples()
    CriUint32 CRIAPI criAtomMic_GetNumBufferedSamples(CriAtomMicHn mic)
    Returns
    Type Description
    uint

    CriSint32 バッファリングされているサンプル数

    Remarks

    説明: 内部のバッファに存在するマイク入力データのサンプル数を取得します。

    GetNumChannels()

    Pro

    マイクのチャンネル数の取得

    Declaration
    • C#
    • C
    public int GetNumChannels()
    CriSint32 CRIAPI criAtomMic_GetNumChannels(CriAtomMicHn mic)
    Returns
    Type Description
    int

    CriSint32 チャンネル数

    Remarks

    説明: マイクのチャンネル数を取得します。

    GetNumDevices()

    Pro

    マイクデバイス数の取得

    Declaration
    • C#
    • C
    public static int GetNumDevices()
    CriSint32 CRIAPI criAtomMic_GetNumDevices(void)
    Returns
    Type Description
    int

    CriSint32 マイクデバイス数

    Remarks

    説明: 利用可能なマイクデバイス数を取得します。

    See Also
    GetDevice(int, out DeviceInfo)

    GetOutputReadStream()

    Pro

    リードストリームの取得

    Declaration
    • C#
    • C
    public static CriAtomAux.ReadStreamCbFunc GetOutputReadStream()
    CriAtomAuxReadStreamCbFunc CRIAPI criAtomMic_GetOutputReadStream(void)
    Returns
    Type Description
    CriAtomAux.ReadStreamCbFunc

    CriAtomAux.ReadStreamCbFunc リードストリームのコールバック関数

    Remarks

    説明: マイクの出力方向のリードストリームを取得します。 リードストリームのコールバック関数を呼び出す際は、第1引数にAtomマイクオブジェクトを指定する必要があります。 リードストリームのコールバック関数は定期的に呼び出しを行わず内部バッファが一杯になると、 バッファに入りきらないデータは捨てられます。

    GetSamplingRate()

    Pro

    マイクのサンプリング周波数の取得

    Declaration
    • C#
    • C
    public int GetSamplingRate()
    CriSint32 CRIAPI criAtomMic_GetSamplingRate(CriAtomMicHn mic)
    Returns
    Type Description
    int

    CriSint32 サンプリング周波数

    Remarks

    説明: マイクのサンプリング周波数を取得します。

    Initialize()

    Pro

    マイクライブラリの初期化

    Declaration
    • C#
    • C
    public static void Initialize()
    void CRIAPI criAtomMic_Initialize(void)
    Remarks

    説明: マイクライブラリの初期化を行います。

    IsAvailable()

    Pro

    マイクの使用可能状態を取得

    Declaration
    • C#
    • C
    public bool IsAvailable()
    CriBool CRIAPI criAtomMic_IsAvailable(CriAtomMicHn mic)
    Returns
    Type Description
    bool

    CriBool true:使用可能, false:使用不可

    Remarks

    説明: オーディオ入力デバイスをチェックして使用可能か状態を取得します。

    IsFormatSupported(in Config)

    Pro

    フォーマットがサポート状況の取得

    Declaration
    • C#
    • C
    public static bool IsFormatSupported(in CriAtomMic.Config config)
    CriBool CRIAPI criAtomMic_IsFormatSupported(const CriAtomMicConfig *config)
    Parameters
    Type Name Description
    CriAtomMic.Config config

    コンフィグ情報

    Returns
    Type Description
    bool

    CriBool true:サポート, false:非サポート

    Remarks

    説明: 指定したコンフィグ情報のフォーマットがサポートされているか取得します。

    See Also
    GetNumDevices()

    ReadData(float[][], uint)

    Pro

    データの取得

    Declaration
    • C#
    • C
    public uint ReadData(float[][] data, uint numSamples)
    CriUint32 CRIAPI criAtomMic_ReadData(CriAtomMicHn mic, CriFloat32 *data[], CriUint32 num_samples)
    Parameters
    Type Name Description
    float[][] data

    コピー先バッファ配列

    uint numSamples

    コピー先バッファのサンプル数

    Returns
    Type Description
    uint

    CriUint32 取得できたサンプル数

    Remarks

    説明: マイクに入力されたデータを取得します。 本関数は定期的に呼び出しを行わず内部バッファが一杯になると、 バッファに入りきらないデータは捨てられます。

    SetContext(IntPtr)

    Pro

    コンテキスト設定の初期化

    Declaration
    • C#
    • C
    public static void SetContext(IntPtr context)
    void CRIAPI criAtomMic_SetContext(void *context)
    Parameters
    Type Name Description
    IntPtr context

    デバイスコンテキスト

    Remarks

    説明: プラットフォームの音声入力デバイスのコンテキストを設定します。

    • Android: OpenSL ES の SLEngineItf
    • iOS: AudioUnit の AUGraph
    See Also
    GetDevice(int, out DeviceInfo)

    SetDeviceDisconnectedCallback(delegate* unmanaged[Cdecl]<IntPtr, void>, IntPtr)

    Pro

    デバイス切断時コールバックの登録

    Declaration
    • C#
    • C
    public void SetDeviceDisconnectedCallback(delegate* unmanaged[Cdecl]<IntPtr, void> callback, IntPtr obj)
    void CRIAPI criAtomMic_SetDeviceDisconnectedCallback(CriAtomMicHn mic, void(*callback)(void *), void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, void> callback

    コールバックの関数ポインタ

    IntPtr obj

    コールバックの第一引数に渡されるポインタ

    Remarks

    説明: 録音に使用されているデバイスが切断された場合に発生するコールバックを登録します。

    SetDeviceId(ArgString)

    Pro

    デバイスの指定

    Declaration
    • C#
    • C
    public void SetDeviceId(ArgString deviceId)
    void CRIAPI criAtomMic_SetDeviceId(CriAtomMicHn mic, const CriChar8 *device_id)
    Parameters
    Type Name Description
    ArgString deviceId

    デバイスID

    Remarks

    説明: マイクオブジェクトにデバイスIDを指定します。Create時にconfigで行った設定は上書きされます。

    See Also
    GetDeviceId()

    SetEffectBypass(CriAtomMicEffect, NativeBool)

    Pro

    エフェクトインスタンスの取得

    Declaration
    • C#
    • C
    public void SetEffectBypass(CriAtomMicEffect effect, NativeBool bypass)
    void CRIAPI criAtomMic_SetEffectBypass(CriAtomMicHn mic, CriAtomMicEffectHn effect, CriBool bypass)
    Parameters
    Type Name Description
    CriAtomMicEffect effect

    エフェクトハンドル

    NativeBool bypass

    バイパス設定

    Remarks

    説明: マイクのエフェクトのバイパスを設定します。 bypassにtrueを指定するとエフェクトの処理が行われなくなります。

    SetEffectParameter(CriAtomMicEffect, uint, float)

    Pro

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

    Declaration
    • C#
    • C
    public void SetEffectParameter(CriAtomMicEffect effect, uint parameterIndex, float parameterValue)
    void CRIAPI criAtomMic_SetEffectParameter(CriAtomMicHn mic, CriAtomMicEffectHn effect, CriUint32 parameter_index, CriFloat32 parameter_value)
    Parameters
    Type Name Description
    CriAtomMicEffect effect

    エフェクトハンドル

    uint parameterIndex

    パラメーターインデックス

    float parameterValue

    パラメーター値

    Remarks

    説明: マイクのエフェクトにパラメーターを設定します。 パラメーターのインデックスを指定して対応したパラメーターの値を設定します。 本関数を呼ぶだけではエフェクトにパラメーターの反映が行われないため、 最終的にUpdateEffectParameters(CriAtomMicEffect)を実行してパラメーターを反映させる必要があります。。

    See Also
    UpdateEffectParameters(CriAtomMicEffect)

    SetOutputWriteStream(delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint>, IntPtr)

    Pro

    ライトストリームの設定

    Declaration
    • C#
    • C
    public void SetOutputWriteStream(delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint> streamCbfunc, IntPtr streamPtr)
    void CRIAPI criAtomMic_SetOutputWriteStream(CriAtomMicHn mic, CriAtomAuxWriteStreamCbFunc stream_cbfunc, void *stream_ptr)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, float**, uint, uint> streamCbfunc

    ライトストリームのコールバック関数

    IntPtr streamPtr

    ライトストリームのコールバック関数に渡されるポインタ

    Remarks

    説明: マイクに出力方向のライトストリームを設定します。 ライトストリームのコールバック関数はマイク入力が行われたタイミングで呼び出されます。 コールバック関数は大抵のプラットフォームで別スレッドから呼ばれるため、 呼ばれる側はスレッドセーフ実装する必要があります。

    Start()

    Pro

    マイクの音声入力開始

    Declaration
    • C#
    • C
    public void Start()
    void CRIAPI criAtomMic_Start(CriAtomMicHn mic)
    Remarks

    説明: マイクの音声入力を開始します。

    See Also
    CriAtomMic(in Config)
    Stop()

    Stop()

    Pro

    マイクの音声入力停止

    Declaration
    • C#
    • C
    public void Stop()
    void CRIAPI criAtomMic_Stop(CriAtomMicHn mic)
    Remarks

    説明: マイクの音声入力を停止します。

    See Also
    CriAtomMic(in Config)
    Start()

    UpdateEffectParameters(CriAtomMicEffect)

    Pro

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

    Declaration
    • C#
    • C
    public void UpdateEffectParameters(CriAtomMicEffect effect)
    void CRIAPI criAtomMic_UpdateEffectParameters(CriAtomMicHn mic, CriAtomMicEffectHn effect)
    Parameters
    Type Name Description
    CriAtomMicEffect effect

    エフェクトハンドル

    Remarks

    説明: マイクのエフェクトにパラメーターを設定します。 パラメーターのインデックスを指定して対応したパラメーターの値を設定します。 本関数を呼ぶだけではエフェクトにパラメーターの反映が行われないため、 最終的にUpdateEffectParameters(CriAtomMicEffect)を実行してパラメーターを反映させる必要があります。。

    See Also
    UpdateEffectParameters(CriAtomMicEffect)

    Implements

    IDisposable

    See Also

    CriAtomMic(in Config)
    In this article
    Back to top Generated by DocFX