CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriAtomEx

    CriAtomEx API

    Inheritance
    object
    CriAtomEx
    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 static class CriAtomEx

    Fields

    DefaultVoicesPerPool

    デフォルトボイス数

    Declaration
    public const int DefaultVoicesPerPool = 8
    Field Value
    Type Description
    int
    Remarks

    説明: ボイスプール当たりのボイス数のデフォルト値です。 ボイスプール作成時にデフォルト値設定を使用すると、 DefaultVoicesPerPool 数分のボイスが確保されます。

    See Also
    SetDefaultConfigForStandardVoicePool(out StandardVoicePoolConfig)

    FormatHca

    Declaration
    public const int FormatHca = 3
    Field Value
    Type Description
    int
    Remarks

    HCA

    IgnoreFadeOut

    フェードアウト処理の無効化指定値

    Declaration
    public const int IgnoreFadeOut = -1
    Field Value
    Type Description
    int
    Remarks

    説明: フェーダーのフェードアウト処理を無効化するための値です。 SetFadeOutTime(int) 関数の第2引数に本パラメーターをセットすることで、 フェードアウト処理を無効化することが可能です。

    See Also
    SetFadeOutTime(int)

    InvalidAisacControlId

    AISACコントロールIDの無効値

    Declaration
    public const uint InvalidAisacControlId = 4294967295
    Field Value
    Type Description
    uint
    Remarks

    説明: AISACコントロールIDの無効値です。

    See Also
    SetAisacControlById(uint, float)
    GetAisacControlIdByName(ArgString)
    GetAisacControlNameById(uint)

    InvalidBlockIndex

    無効なブロックインデックス

    Declaration
    public const uint InvalidBlockIndex = 4294967295
    Field Value
    Type Description
    uint
    Remarks

    説明: GetCurrentBlockIndex() 関数で再生中の音声のカレントブロック インデックスを取得した際、再生中の音声がブロックシーケンスではない場合に 返される無効なインデックスです。

    See Also
    GetCurrentBlockIndex()

    InvalidPlaybackId

    無効な再生ID

    Declaration
    public const uint InvalidPlaybackId = 4294967295
    Field Value
    Type Description
    uint
    Remarks

    説明: Start() 関数で音声の再生を開始した際、 ボイスリミットコントロール等によりボイスが確保できなかった場合に返される、 無効な再生IDです。

    備考: 再生 ID を指定する API に対して本 ID をセットした場合でも、 エラーコールバックは発生しません。 (何もされずに関数からリターンします。) そのため、 Start() 関数の結果にかかわらず、 再生 ID を使用した処理を常時行っても、特に問題ありません。

    See Also
    CriAtomExPlayback
    Start()

    MaxVoicesPerPool

    最大ボイス数

    Declaration
    public const int MaxVoicesPerPool = 32767
    Field Value
    Type Description
    int
    Remarks

    説明: ボイスプール当たりのボイス数の最大値です。

    MinVoicesPerPool

    最小ボイス数

    Declaration
    public const int MinVoicesPerPool = 1
    Field Value
    Type Description
    int
    Remarks

    説明: ボイスプール当たりのボイス数の最小値です。

    OutputPortMaxNameLength

    出力ポートの名前の長さの最大値

    Declaration
    public const int OutputPortMaxNameLength = 64
    Field Value
    Type Description
    int
    Remarks

    説明: CriAtomExOutputPort.Config::name に名前として指定できる文字列の最大長です。

    See Also
    CriAtomExOutputPort.Config

    StreamingCacheIllegalId

    不正なストリーミングキャッシュID値

    Declaration
    public const int StreamingCacheIllegalId = 0
    Field Value
    Type Description
    int
    Remarks

    説明: CriAtomExStreamingCache(in Config) 関数に失敗した際に返る値です。

    See Also
    CriAtomExStreamingCache(in Config)
    Dispose()

    Properties

    CueLinkCallback

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

    Declaration
    public static CriAtomEx.CueLinkCbFunc CueLinkCallback { get; }
    Property Value
    Type Description
    CriAtomEx.CueLinkCbFunc
    See Also
    SetCueLinkCallback(delegate* unmanaged[Cdecl]<IntPtr, CueLinkInfo*, int>, IntPtr)

    MonitoringVoiceStopCallback

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

    Declaration
    public static CriAtomEx.MonitoringVoiceStopCbFunc MonitoringVoiceStopCallback { get; }
    Property Value
    Type Description
    CriAtomEx.MonitoringVoiceStopCbFunc
    See Also
    SetMonitoringVoiceStopCallback(delegate* unmanaged[Cdecl]<IntPtr, MonitoringVoiceStopInfo*, void>, IntPtr)

    PlaybackCancelCallback

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

    Declaration
    public static CriAtomExPlayback.CancelCbFunc PlaybackCancelCallback { get; }
    Property Value
    Type Description
    CriAtomExPlayback.CancelCbFunc
    See Also
    SetPlaybackCancelCallback(delegate* unmanaged[Cdecl]<IntPtr, CancelInfo*, void>, IntPtr)

    TrackTransitionBySelectorCallback

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

    Declaration
    public static CriAtomEx.TrackTransitionBySelectorCbFunc TrackTransitionBySelectorCallback { get; }
    Property Value
    Type Description
    CriAtomEx.TrackTransitionBySelectorCbFunc
    See Also
    SetTrackTransitionBySelectorCallback(delegate* unmanaged[Cdecl]<IntPtr, TrackTransitionBySelectorInfo*, void>, IntPtr)

    VoiceEventCallback

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

    Declaration
    public static CriAtomEx.VoiceEventCbFunc VoiceEventCallback { get; }
    Property Value
    Type Description
    CriAtomEx.VoiceEventCbFunc
    See Also
    SetVoiceEventCallback(delegate* unmanaged[Cdecl]<IntPtr, VoiceEvent, VoiceInfoDetail*, VoiceInfoDetail*, VoiceInfoDetail*, void>, IntPtr)

    Methods

    AnalyzeAudioHeader(IntPtr, int, out FormatInfo)

    LE Pro

    オーディオヘッダーの解析

    Declaration
    • C#
    • C
    public static bool AnalyzeAudioHeader(IntPtr buffer, int bufferSize, out CriAtomEx.FormatInfo info)
    CriBool CRIAPI criAtomEx_AnalyzeAudioHeader(const void *buffer, CriSint32 buffer_size, CriAtomExFormatInfo *info)
    Parameters
    Type Name Description
    IntPtr buffer

    オーディオデータを格納したバッファー

    int bufferSize

    オーディオデータを格納したバッファーのサイズ

    CriAtomEx.FormatInfo info

    フォーマット情報

    Returns
    Type Description
    bool

    CriBool フォーマット情報が取得できたかどうか?(取得できた:true/取得できない:false)

    Remarks

    説明: メモリにロードされた音声データのフォーマットを解析します。 解析に成功すると、本関数は true を返し、音声データのフォーマット情報を 第3引数( info )に格納します。 解析に失敗した場合、本関数は false を返します。

    備考: 本関数の第1引数( buffer )には、オーディオデータのヘッダー領域 (音声ファイルの先頭部分をロードしたもの)を格納しておく必要があります。 音声データの途中部分をセットした場合や、ヘッダー前に余計なデータが付加されている場合、 ヘッダーの途中までしか格納されていない場合には、本関数はフォーマットの解析に失敗します。 ADXデータやHCAデータについては、音声ファイルの先頭から2048バイト分の領域をセットすれば、 フォーマットの解析に失敗することはありません。

    注意: 現状、本関数はADXデータとHCAデータの解析にしか対応していません。 HCA-MXデータについては解析は可能ですが、ヘッダー情報からはHCAデータなのか HCA-MXデータなのかは区別できないため、フォーマット種別として FormatHca が返されます。

    ApplyDspBusSnapshot(ArgString, int)

    LE Pro

    DSPバススナップショットの適用

    Declaration
    • C#
    • C
    public static void ApplyDspBusSnapshot(ArgString snapshotName, int timeMs)
    void CRIAPI criAtomEx_ApplyDspBusSnapshot(const CriChar8 *snapshot_name, CriSint32 time_ms)
    Parameters
    Type Name Description
    ArgString snapshotName

    スナップショット名

    int timeMs

    時間(ミリ秒)

    Remarks

    説明: DSPバススナップショットを適用します。 本関数を呼び出すと、スナップショットで設定したパラメーターに time_ms 掛けて変化します。 引数 snapshot_name に CRI_NULL を指定すると、元のDSPバス設定の状態(スナップショットが適用されていない状態)に戻ります。

    See Also
    AttachDspBusSetting(ArgString)

    AttachDspBusSetting(ArgString)

    LE Pro

    DSPバス設定のアタッチ

    Declaration
    • C#
    • C
    public static void AttachDspBusSetting(ArgString setting)
    void CRIAPI criAtomEx_AttachDspBusSetting(const CriChar8 *setting, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    ArgString setting

    DSPバス設定の名前

    Remarks

    説明: DSPバス設定からDSPバスを構築してサウンドレンダラにアタッチします。 本関数を実行するには、あらかじめACF情報を登録しておく必要があります。 ミキサーVersion2のACFを使用する場合、追加で以下の動作を行います。

    • もとのチャンネル数、サンプリングレート、機種固有設定などを上書きします。
    • アタッチ時に再生中の音声をすべて停止します

    備考: DSPバス設定のアタッチに必要なワークメモリのサイズは、 CRI Atom Craftで作成したDSPバス設定の内容によって変化します。

    注意: 本関数は完了復帰型の関数です。 本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。 音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。

    See Also
    DetachDspBusSetting()
    RegisterAcfData(ReadOnlySpan<byte>)
    RegisterAcfFile(CriFsBinder, ArgString)
    RegisterAcfFileById(CriFsBinder, ushort)

    AttachPerformanceMonitor()

    LE Pro

    パフォーマンスモニター機能の追加

    Declaration
    • C#
    • C
    public static void AttachPerformanceMonitor()
    void criAtomEx_AttachPerformanceMonitor_()
    Remarks

    説明: パフォーマンス計測機能を追加し、パフォーマンス計測処理を開始します。 本関数を実行後、 GetPerformanceInfo(out PerformanceInfo) 関数を実行することで、 サーバー処理の負荷や、サーバー処理の実行間隔等、ライブラリのパフォーマンス情報を 取得することが可能です。

    See Also
    GetPerformanceInfo(out PerformanceInfo)
    DetachPerformanceMonitor()

    CalculateAdxBitrate(int, int)

    LE Pro

    ADXデータのビットレート計算

    Declaration
    • C#
    • C
    public static int CalculateAdxBitrate(int numChannels, int samplingRate)
    CriSint32 criAtomEx_CalculateAdxBitrate_(CriSint32 num_channels, CriSint32 sampling_rate)
    Parameters
    Type Name Description
    int numChannels

    データのチャンネル数

    int samplingRate

    データのサンプリングレート

    Returns
    Type Description
    int

    CriSint32 ビットレート[bps]

    Remarks

    説明: ADXデータのビットレートを計算します。 計算に失敗すると本関数は-1を返します。 計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

    CalculateHcaBitrate(int, int, EncodeQuality)

    LE Pro

    HCAデータのビットレート計算

    Declaration
    • C#
    • C
    public static int CalculateHcaBitrate(int numChannels, int samplingRate, CriAtom.EncodeQuality quality)
    CriSint32 criAtomEx_CalculateHcaBitrate_(CriSint32 num_channels, CriSint32 sampling_rate, CriAtomEncodeQuality quality)
    Parameters
    Type Name Description
    int numChannels

    データのチャンネル数

    int samplingRate

    データのサンプリングレート

    CriAtom.EncodeQuality quality

    データのエンコード品質

    Returns
    Type Description
    int

    CriSint32 ビットレート[bps]

    Remarks

    説明: HCAデータのビットレートを計算します。 計算に失敗すると本関数は-1を返します。 計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

    備考: qualityにはCRI Atom CraftまたはCRI Atom Encoderで設定したエンコード品質を指定します。

    CalculateHcaMxBitrate(int, int, EncodeQuality)

    LE Pro

    HCA-MXデータのビットレート計算

    Declaration
    • C#
    • C
    public static int CalculateHcaMxBitrate(int numChannels, int samplingRate, CriAtom.EncodeQuality quality)
    CriSint32 criAtomEx_CalculateHcaMxBitrate_(CriSint32 num_channels, CriSint32 sampling_rate, CriAtomEncodeQuality quality)
    Parameters
    Type Name Description
    int numChannels

    データのチャンネル数

    int samplingRate

    データのサンプリングレート

    CriAtom.EncodeQuality quality

    データのエンコード品質

    Returns
    Type Description
    int

    CriSint32 ビットレート[bps]

    Remarks

    説明: HCA-MXデータのビットレートを計算します。 計算に失敗すると本関数は-1を返します。 計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

    備考: qualityにはCRI Atom CraftまたはCRI Atom Encoderで設定したエンコード品質を指定します。

    CalculateWorkSize(in Config)

    LE Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSize(in CriAtomEx.Config config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize(const CriAtomExConfig *config)
    Parameters
    Type Name Description
    CriAtomEx.Config config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.Config )の内容によって変化します。 引数にnullを指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で ワーク領域サイズを計算します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.Config 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケーターを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.Config
    Initialize(in Config)

    CalculateWorkSizeANDROID(in ConfigANDROID)

    LE Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeANDROID(in CriAtomEx.ConfigANDROID config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize_ANDROID(const CriAtomExConfig_ANDROID *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigANDROID config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigANDROID )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.ConfigANDROID 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケータを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.ConfigANDROID
    InitializeANDROID(in ConfigANDROID)

    CalculateWorkSizeForDspBusSetting(ArgString)

    LE Pro

    DSPバス設定のアタッチ用ワークサイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForDspBusSetting(ArgString setting)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSizeForDspBusSetting(const CriChar8 *setting)
    Parameters
    Type Name Description
    ArgString setting

    DSPバス設定の名前

    Returns
    Type Description
    int

    CriSint32 必要ワーク領域サイズ

    Remarks

    説明: DSPバス設定からDSPバスを構築するのに必要なワーク領域サイズを計算します。 本関数を実行するには、あらかじめACF情報を登録しておく必要があります ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

    備考: DSPバス設定のアタッチに必要なワークメモリのサイズは、CRI Atom Craftで作成した DSPバス設定の内容によって変化します。

    See Also
    AttachDspBusSetting(ArgString)
    RegisterAcfData(ReadOnlySpan<byte>)
    RegisterAcfFile(CriFsBinder, ArgString)
    RegisterAcfFileById(CriFsBinder, ushort)

    CalculateWorkSizeForDspBusSettingFromAcfData(IntPtr, int, ArgString)

    LE Pro

    DSPバス設定のアタッチ用ワークサイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForDspBusSettingFromAcfData(IntPtr acfData, int acfBufferSize, ArgString settingName)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData(void *acf_data, CriSint32 acf_buffer_size, const CriChar8 *setting_name)
    Parameters
    Type Name Description
    IntPtr acfData

    ACFデータ

    int acfBufferSize

    ACFデータサイズ

    ArgString settingName

    DSPバス設定の名前

    Returns
    Type Description
    int

    CriSint32 必要ワーク領域サイズ

    Remarks

    説明: DSPバス設定からDSPバスを構築するのに必要なワーク領域サイズを計算します。 CalculateWorkSizeForDspBusSetting(ArgString) 関数と違い、 ACF情報を登録する前でも本関数は実行可能です。 (ただし、ACFデータを事前にメモリにロードし、 SetConfigForWorkSizeCalculation(in Config) 関数でASR初期化用コンフィグ構造体を仮登録しておく必要があります。) ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、 エラーコールバックのメッセージで確認可能です。

    備考: DSPバス設定のアタッチに必要なワークメモリのサイズは、CRI Atom Craftで作成した DSPバス設定の内容によって変化します。

    注意: ハードウェアDSPを使用するプラットフォーム(ASRを使用しないプラットフォーム)では、 本関数でワーク領域サイズを取得することができない可能性があります。 (本関数実行時にエラーコールバックが発生したり、負値が返される可能性があります。) 本関数が動作しないプラットフォームについては、 ライブラリの初期化後に CalculateWorkSizeForDspBusSetting(ArgString) 関数を使用して必要なワーク領域サイズを計算してください。

    See Also
    AttachDspBusSetting(ArgString)
    RegisterAcfData(ReadOnlySpan<byte>)
    RegisterAcfFile(CriFsBinder, ArgString)
    RegisterAcfFileById(CriFsBinder, ushort)
    SetConfigForWorkSizeCalculation(in Config)
    CalculateWorkSizeForDspBusSetting(ArgString)

    CalculateWorkSizeForRegisterAcfData(IntPtr, int)

    LE Pro

    オンメモリACFデータの登録に必要なワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForRegisterAcfData(IntPtr acfData, int acfDataSize)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSizeForRegisterAcfData(void *acf_data, CriSint32 acf_data_size)
    Parameters
    Type Name Description
    IntPtr acfData

    ACFデータアドレス

    int acfDataSize

    ACFデータサイズ

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

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

    注意: ワーク領域のサイズはライブラリ初期化時( Initialize(in Config) 関数実行時) に指定したパラメーターによって変化します。 そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。

    See Also
    RegisterAcfData(ReadOnlySpan<byte>)

    CalculateWorkSizeForRegisterAcfFile(CriFsBinder, ArgString)

    LE Pro

    ACFファイルの登録に必要なワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForRegisterAcfFile(CriFsBinder binder, ArgString path)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSizeForRegisterAcfFile(CriFsBinderHn binder, const CriChar8 *path)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ArgString path

    ファイルパス

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: RegisterAcfFile(CriFsBinder, ArgString) 関数の実行に必要なワーク領域サイズを計算します。 本関数は、 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドによるアロケーター登録の有無によって 計算に使用する要素が異なります。

    • アロケーター登録時:ACFファイルを一時的に読み込み、ACF内に記録されているカテゴリ数、 再生単位でのカテゴリ参照数、REACT数を使用したサイズ計算が行われます。
    • アロケーター未登録時:ライブラリ初期化時に指定した CriAtomEx.Config 構造体の max_categoriesメンバ、categories_per_playbackメンバを使用したサイズ計算が行われます。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

    備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。

    注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。

    See Also
    RegisterAcfFile(CriFsBinder, ArgString)

    CalculateWorkSizeForRegisterAcfFileById(CriFsBinder, ushort)

    LE Pro

    ACFファイルの登録に必要なワーク領域サイズの計算(CPKコンテンツID指定)

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForRegisterAcfFileById(CriFsBinder binder, ushort id)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSizeForRegisterAcfFileById(CriFsBinderHn binder, CriUint16 id)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ushort id

    CPKコンテンツID

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: RegisterAcfFileById(CriFsBinder, ushort) 関数の実行に必要なワーク領域サイズを計算します。 ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 CalculateWorkSizeForRegisterAcfFile(CriFsBinder, ArgString) 関数と機能は同じです。

    備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。

    See Also
    CalculateWorkSizeForRegisterAcfFile(CriFsBinder, ArgString)
    RegisterAcfFileById(CriFsBinder, ushort)

    CalculateWorkSizeForUserPcmOutput(in ConfigForUserPcmOutput)

    LE Pro

    ユーザPCM出力方式用ワーク領域サイズ計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForUserPcmOutput(in CriAtomEx.ConfigForUserPcmOutput config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSizeForUserPcmOutput(const CriAtomExConfigForUserPcmOutput *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigForUserPcmOutput config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ユーザPCM出力方式でライブラリを初期化するために必要な、 ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigForUserPcmOutput )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は InitializeForUserPcmOutput(in ConfigForUserPcmOutput) 関数を使用して ライブラリを初期化する場合に使用します。 Initialize(in Config) 関数を使用する場合には、本関数ではなく CalculateWorkSize(in Config) 関数を使用してワーク領域サイズを計算してください。

    See Also
    CriAtomEx.ConfigForUserPcmOutput
    InitializeForUserPcmOutput(in ConfigForUserPcmOutput)

    CalculateWorkSizeIOS(in ConfigIOS)

    LE Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeIOS(in CriAtomEx.ConfigIOS config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize_IOS(const CriAtomExConfig_IOS *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigIOS config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigIOS )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.ConfigIOS 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケータを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.ConfigIOS
    InitializeIOS(in ConfigIOS)

    CalculateWorkSizeMACOSX(in ConfigMACOSX)

    LE Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeMACOSX(in CriAtomEx.ConfigMACOSX config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize_MACOSX(const CriAtomExConfig_MACOSX *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigMACOSX config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigMACOSX )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.ConfigMACOSX 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケータを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.ConfigMACOSX
    InitializeMACOSX(in ConfigMACOSX)

    CalculateWorkSizePC(in ConfigPC)

    LE Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizePC(in CriAtomEx.ConfigPC config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize_PC(const CriAtomExConfig_PC *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigPC config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigPC )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.Config 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケーターを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.ConfigPC
    InitializePC(in ConfigPC)

    CalculateWorkSizePULSE(in ConfigPULSE)

    Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizePULSE(in CriAtomEx.ConfigPULSE config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize_PULSE(const CriAtomExConfig_PULSE *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigPULSE config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigPULSE )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.ConfigPULSE 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケータを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.ConfigPULSE
    InitializePULSE(in ConfigPULSE)

    CalculateWorkSizeWASAPI(in ConfigWASAPI)

    LE Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeWASAPI(in CriAtomEx.ConfigWASAPI config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize_WASAPI(const CriAtomExConfig_WASAPI *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigWASAPI config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigWASAPI )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.ConfigWASAPI 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケーターを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.ConfigWASAPI
    InitializeWASAPI(in ConfigWASAPI)

    CalculateWorkSizeWEBAUDIO(in ConfigWEBAUDIO)

    LE Pro

    ライブラリ初期化用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeWEBAUDIO(in CriAtomEx.ConfigWEBAUDIO config)
    CriSint32 CRIAPI criAtomEx_CalculateWorkSize_WEBAUDIO(const CriAtomExConfig_WEBAUDIO *config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigWEBAUDIO config

    初期化用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomEx.ConfigWEBAUDIO )の内容によって変化します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: CriAtomEx.ConfigWEBAUDIO 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。 初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケータを使用したメモリ確保処理が必要になります。

    See Also
    CriAtomEx.ConfigWEBAUDIO
    InitializeWEBAUDIO(in ConfigWEBAUDIO)

    ControlAcfConsistencyCheck(NativeBool)

    LE Pro

    ACF整合性チェック機能のON/OFF.

    Declaration
    • C#
    • C
    public static void ControlAcfConsistencyCheck(NativeBool sw)
    void CRIAPI criAtomEx_ControlAcfConsistencyCheck(CriBool sw)
    Parameters
    Type Name Description
    NativeBool sw

    スイッチ(CRI_FALSE = チェック無効、CRI_TRUE = チェック有効)

    Remarks

    説明: ACBロード時のACFとの整合性チェック機能のON/OFFを設定します。

    注意: デフォルトの状態は「チェック有効」になっています。「チェック無効」に設定した場合に、 整合性がない組み合わせのデータを使用すると、本来目的とする効果が得られません。 また、「チェック無効」にした場合でも、音声処理実行時にACBから参照しているACF項目が 見つからないときには別途エラーコールバックが発生します。

    ControlVirtualSpeakerSetting(NativeBool)

    LE Pro

    バーチャルスピーカー設定のON/OFF

    Declaration
    • C#
    • C
    public static void ControlVirtualSpeakerSetting(NativeBool sw)
    void CRIAPI criAtomEx_ControlVirtualSpeakerSetting(CriBool sw)
    Parameters
    Type Name Description
    NativeBool sw

    スイッチ(CRI_FALSE = 無効、CRI_TRUE = 有効)

    Remarks

    説明: パン3Dや3Dポジショニングの計算時にバーチャルスピーカーの設定を使用する機能のON/OFFを設定します。 この設定を有効にすると、マルチチャンネルサウンドは SetVirtualSpeakerAngleArray(uint, in float) 関数にて設定した バーチャルスピーカー角度からそれぞれ再生されます。

    注意: デフォルトの状態は「無効」になっています。 また、何かボイスを再生中に「有効」にした場合、パン3Dや3Dポジショニングの計算には即時反映されません。 次回ボイス再生時から反映されます。

    See Also
    SetVirtualSpeakerAngleArray(uint, in float)

    DetachDspBusSetting()

    LE Pro

    DSPバス設定のデタッチ

    Declaration
    • C#
    • C
    public static void DetachDspBusSetting()
    void CRIAPI criAtomEx_DetachDspBusSetting(void)
    Remarks

    説明: DSPバス設定をデタッチします。 ミキサーVersion2のACFを使用する場合、追加で以下の動作を行います。

    • ASRの状態はアタッチ前に戻します(上書きされたパラメーターはもとに戻ります) SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 DSPバス設定アタッチ時に確保されたメモリ領域が解放されます。 (DSPバス設定アタッチ時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)

    注意: 本関数は完了復帰型の関数です。 本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。 音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。

    See Also
    AttachDspBusSetting(ArgString)

    DetachPerformanceMonitor()

    LE Pro

    パフォーマンスモニター機能の削除

    Declaration
    • C#
    • C
    public static void DetachPerformanceMonitor()
    void criAtomEx_DetachPerformanceMonitor_()
    Remarks

    説明: パフォーマンス計測処理を終了し、パフォーマンス計測機能を削除します。

    注意: 本関数は完了復帰型の関数です。 本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。 音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。

    DisableBackgroundPlaybackIOS()

    LE Pro

    バックグラウンド再生の終了

    Declaration
    • C#
    • C
    public static void DisableBackgroundPlaybackIOS()
    void CRIAPI criAtomEx_DisableBackgroundPlayback_IOS(void)
    Remarks

    説明: バックグラウンド再生の終了をAtomライブラリに通知します。

    EnableBackgroundPlaybackIOS()

    LE Pro

    バックグラウンド再生の開始

    Declaration
    • C#
    • C
    public static void EnableBackgroundPlaybackIOS()
    void CRIAPI criAtomEx_EnableBackgroundPlayback_IOS(void)
    Remarks

    説明: バックグラウンド再生の開始をAtomライブラリに通知します。

    EnableCalculationAisacControlFrom3dPosition(NativeBool)

    LE Pro

    パンタイプがパン3Dの時に、距離減衰AISACと角度AISACコントロール値を音源に反映するか設定

    Declaration
    • C#
    • C
    public static void EnableCalculationAisacControlFrom3dPosition(NativeBool flag)
    void CRIAPI criAtomEx_EnableCalculationAisacControlFrom3dPosition(CriBool flag)
    Parameters
    Type Name Description
    NativeBool flag

    AISACコントロール値を適用するか?(CRI_TRUE:する、CRI_FALSE:しない)

    Remarks

    説明: 引数の flag に true を設定すると、パンタイプがパン3Dの音源を再生する際に、3Dソースと3Dリスナーオブジェクトが 設定されているときは常に距離減衰AISACと角度AISACの計算結果が音源に適用されます。

    注意: Atomライブラリのデフォルトでは、パン3D音源に対して距離減衰AISACと角度AISACの計算結果は適用されません。 本関数はCRI Atomライブラリ Ver.2.17.19 以前の動作との互換の為に追加されました。

    See Also
    IsEnableCalculationAisacControlFrom3dPosition()

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

    LE Pro

    ボイス情報の列挙

    Declaration
    • C#
    • C
    public static void EnumerateVoiceInfos(delegate* unmanaged[Cdecl]<IntPtr, CriAtomEx.VoiceInfoDetail*, void> func, IntPtr obj)
    void CRIAPI criAtomEx_EnumerateVoiceInfos(CriAtomExVoiceInfoCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, VoiceInfoDetail*, void> func

    ボイス情報コールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: 再生中のボイスの情報を列挙します。 本関数を実行すると、第 1 引数( func ) でセットされたコールバック関数が再生中のボイスの数分だけ呼び出されます。 コールバック関数には、再生中のボイスに関する詳細情報が CriAtomEx.VoiceInfoDetail 構造体として渡されます。

    備考: 第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。 コールバック関数のその他の引数については、 別途 CriAtomEx.VoiceInfoCbFunc の説明をご参照ください。

    注意: 本関数で登録したコールバックには、 発音可能なボイスリソースを持つボイスの情報だけが返されます。 (バーチャル化されたボイスの情報は返されません。)

    See Also
    CriAtomEx.VoiceInfoCbFunc

    ExecuteAudioProcess()

    LE Pro

    ユーザーマルチスレッド用サーバー処理の実行

    Declaration
    • C#
    • C
    public static void ExecuteAudioProcess()
    void CRIAPI criAtomEx_ExecuteAudioProcess(void)
    Remarks

    説明: CRI Atomライブラリのみを更新します。 スレッドモデルがUserMultiの場合、 アプリケーションは、この関数を定期的に実行する必要があります。 ファイルの読み込み管理や、データのデコード、音声の出力等、 音声再生に必要な処理のほぼ全てが本関数内で実行されます。 そのため、ライブラリ初期化時に指定したサーバー処理の実行頻度( CriAtomEx.Config 構造体の server_frequency )を下回る頻度で本関数を実行した場合、音切れ等の問題が発生する可能性 があります。 また、本関数はExecuteMain() 関数と異なり、CRI File Systemライブラリのサーバー処理を実行しません。 アプリケーションが必要なサーバー処理を正しい順序で実行してください。

    備考: Single に設定した場合、サーバー処理の排他制御が行われないので、 複数のスレッドから呼び出さないようにしてください。

    See Also
    ExecuteMain()

    ExecuteMain()

    LE Pro

    サーバー処理の実行

    Declaration
    • C#
    • C
    public static void ExecuteMain()
    void CRIAPI criAtomEx_ExecuteMain(void)
    Remarks

    説明: CRI Atomライブラリの内部状態を更新します。 アプリケーションは、この関数を定期的に実行する必要があります。 サーバー処理を実行すべき回数は、ライブラリ初期化時のパラメーターに依存します。 ライブラリ初期化時にスレッドモデルを Multi に設定した場合、 リアルタイム性の要求される処理は全てCRI Atomライブラリ内で定期的に自動実行されるため、 本関数の呼び出し頻度は少なくても問題は発生しません。 (最低でも毎秒1回程度実行されていれば、音切れ等の問題が発生することはありません。) ライブラリ初期化時にスレッドモデルを Single や UserMulti に設定した場合、ファイルの読み込み管理や、 データのデコード、音声の出力等、音声再生に必要な処理のほぼ全てが本関数内で実行されます。 また、音声再生処理に同期して、CRI File Systemライブラリのファイルアクセスとデータ展開処理を実行します。 そのため、ライブラリ初期化時に指定したサーバー処理の実行頻度( CriAtomEx.Config 構造体の server_frequency )を下回る頻度で本関数を実行した場合や、 大きいデータの読み込み、圧縮ファイルの読み込み等を行う場合、 音切れ等の問題が発生する可能性があるので注意してください。

    備考: ライブラリ初期化時にスレッドモデルを Multi に設定した場合でも、 本関数を実行する必要があります。 (スレッドモデルを Multi の場合、ステータス更新等、ごく一部の 処理のみを行うため、本関数内で長時間処理がブロックされることはありません。) CRI File Systemライブラリのサーバー処理は、CRI Atomライブラリ内部で実行されます。 そのため、本関数を実行している場合、アプリケーション側で別途CRI File Systemライブラリ のサーバー処理を呼び出す必要はありません。

    Finalize()

    LE Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void Finalize()
    void CRIAPI criAtomEx_Finalize(void)
    Remarks

    説明: ライブラリを終了します。

    注意: Initialize(in Config) 関数実行前に本関数を実行することはできません。

    See Also
    Initialize(in Config)

    FinalizeANDROID()

    LE Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void FinalizeANDROID()
    void CRIAPI criAtomEx_Finalize_ANDROID(void)
    Remarks

    説明: ライブラリを終了します。

    注意: 本関数は内部的に以下の関数を実行します。

    • Finalize()
    • Finalize()
    • Finalize() 本関数を実行する場合、上記関数を実行しないでください。 InitializeANDROID(in ConfigANDROID) 関数実行前に本関数を実行することはできません。
    See Also
    InitializeANDROID(in ConfigANDROID)

    FinalizeForUserPcmOutput()

    LE Pro

    ユーザPCM出力用ライブラリ終了処理

    Declaration
    • C#
    • C
    public static void FinalizeForUserPcmOutput()
    void CRIAPI criAtomEx_FinalizeForUserPcmOutput(void)
    Remarks

    説明: ユーザPCM出力モードで初期化されたライブラリに対し、終了処理を行います。

    注意: 本関数は InitializeForUserPcmOutput(in ConfigForUserPcmOutput) 関数を使用してライブラリを初期化した場合に使用します。 Initialize(in Config) 関数を使用した場合には、本関数ではなく Finalize() 関数を使用して終了処理を行ってください。

    See Also
    InitializeForUserPcmOutput(in ConfigForUserPcmOutput)

    FinalizeIOS()

    LE Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void FinalizeIOS()
    void CRIAPI criAtomEx_Finalize_IOS(void)
    Remarks

    説明: ライブラリを終了します。

    注意: 本関数は内部的に以下の関数を実行します。

    • Finalize()
    • Finalize()
    • Finalize() 本関数を実行する場合、上記関数を実行しないでください。 InitializeIOS(in ConfigIOS) 関数実行前に本関数を実行することはできません。
    See Also
    InitializeIOS(in ConfigIOS)

    FinalizeMACOSX()

    LE Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void FinalizeMACOSX()
    void CRIAPI criAtomEx_Finalize_MACOSX(void)
    Remarks

    説明: ライブラリを終了します。

    注意: 本関数は内部的に以下の関数を実行します。

    • Finalize()
    • Finalize()
    • Finalize()
    InitializeMACOSX(in ConfigMACOSX)

    本関数を実行する場合、上記関数を実行しないでください。 関数実行前に本関数を実行することはできません。

    See Also
    InitializeMACOSX(in ConfigMACOSX)

    FinalizePC()

    LE Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void FinalizePC()
    void CRIAPI criAtomEx_Finalize_PC(void)
    Remarks

    説明: ライブラリを終了します。

    注意: 本関数は内部的に以下の関数を実行します。

    • Finalize()
    • Finalize()
    • Finalize() 本関数を実行する場合、上記関数を実行しないでください。 InitializePC(in ConfigPC) 関数実行前に本関数を実行することはできません。
    See Also
    InitializePC(in ConfigPC)

    FinalizePULSE()

    Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void FinalizePULSE()
    void CRIAPI criAtomEx_Finalize_PULSE(void)
    Remarks

    説明: ライブラリを終了します。

    注意: 本関数は内部的に以下の関数を実行します。

    • Finalize()
    • Finalize()
    • Finalize() 本関数を実行する場合、上記関数を実行しないでください。 InitializePULSE(in ConfigPULSE) 関数実行前に本関数を実行することはできません。
    See Also
    InitializePULSE(in ConfigPULSE)

    FinalizeWASAPI()

    LE Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void FinalizeWASAPI()
    void CRIAPI criAtomEx_Finalize_WASAPI(void)
    Remarks

    説明: ライブラリを終了します。

    注意: 本関数は内部的に以下の関数を実行します。

    • Finalize()
    • Finalize()
    • Finalize() 本関数を実行する場合、上記関数を実行しないでください。 InitializeWASAPI(in ConfigWASAPI) 関数実行前に本関数を実行することはできません。
    See Also
    InitializeWASAPI(in ConfigWASAPI)

    FinalizeWEBAUDIO()

    LE Pro

    ライブラリの終了

    Declaration
    • C#
    • C
    public static void FinalizeWEBAUDIO()
    void CRIAPI criAtomEx_Finalize_WEBAUDIO(void)
    Remarks

    説明: ライブラリを終了します。

    注意: 本関数は内部的に以下の関数を実行します。

    • Finalize()
    • Finalize()
    • Finalize()
    InitializeWEBAUDIO(in ConfigWEBAUDIO)

    本関数を実行する場合、上記関数を実行しないでください。 関数実行前に本関数を実行することはできません。

    See Also
    InitializeWEBAUDIO(in ConfigWEBAUDIO)

    GetAcfVersion(IntPtr, int, out NativeBool)

    LE Pro

    オンメモリACFのバージョン取得

    Declaration
    • C#
    • C
    public static uint GetAcfVersion(IntPtr acfData, int acfDataSize, out NativeBool flag)
    CriUint32 CRIAPI criAtomEx_GetAcfVersion(void *acf_data, CriSint32 acf_data_size, CriBool *flag)
    Parameters
    Type Name Description
    IntPtr acfData

    ACFデータアドレス

    int acfDataSize

    ACFデータサイズ

    NativeBool flag

    レジスト可能フラグ

    Returns
    Type Description
    uint

    CriUint32 ACFフォーマットバージョン

    Remarks

    説明: メモリ上に配置されたACFデータのフォーマットバージョンを取得します。 また、flag引数にレジスト可能なバージョンかどうかをBool値で返します。

    GetAcfVersionFromFile(CriFsBinder, ArgString, out NativeBool)

    LE Pro

    ACFファイルのバージョン取得

    Declaration
    • C#
    • C
    public static uint GetAcfVersionFromFile(CriFsBinder binder, ArgString path, out NativeBool flag)
    CriUint32 CRIAPI criAtomEx_GetAcfVersionFromFile(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size, CriBool *flag)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ArgString path

    ファイルパス

    NativeBool flag

    レジスト可能フラグ

    Returns
    Type Description
    uint

    CriUint2 ACFフォーマットバージョン

    Remarks

    説明: ACFファイルをロードし、ACFデータのフォーマットバージョンを取得します。 ACF情報の登録に必要なワーク領域のサイズは、 CalculateWorkSizeForRegisterAcfFile(CriFsBinder, ArgString) 関数で計算します。 ACFファイルフォーマットバージョンを元にflag引数にレジスト可能なバージョンかどうかをBool値で返します。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。) データがCPKにパックされていない場合、引数binderにはnullを指定してください。

    注意: 本関数にセットしたワーク領域は、 アプリケーションで保持する必要はありません。 (ロードしたデータは関数終了時に解放されます。)

    GetAcfVersionFromFileById(CriFsBinder, ushort, out NativeBool)

    LE Pro

    ACFファイルのバージョン取得(CPKコンテンツID指定)

    Declaration
    • C#
    • C
    public static uint GetAcfVersionFromFileById(CriFsBinder binder, ushort id, out NativeBool flag)
    CriUint32 CRIAPI criAtomEx_GetAcfVersionFromFileById(CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size, CriBool *flag)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ushort id

    CPKコンテンツID

    NativeBool flag

    レジスト可能フラグ

    Returns
    Type Description
    uint

    CriUint2 ACFフォーマットバージョン

    Remarks

    説明: ACFファイルをロードし、ACFデータのフォーマットバージョンを取得します。 ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 GetAcfVersionFromFile(CriFsBinder, ArgString, out NativeBool) 関数と機能は同じです。

    備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。

    See Also
    GetAcfVersionFromFile(CriFsBinder, ArgString, out NativeBool)

    GetAppliedDspBusSnapshotName()

    LE Pro

    適用中のDSPバススナップショット名の取得

    Declaration
    • C#
    • C
    public static NativeString GetAppliedDspBusSnapshotName()
    const CriChar8* CRIAPI criAtomEx_GetAppliedDspBusSnapshotName(void)
    Returns
    Type Description
    NativeString

    const CriChar8* スナップショット名文字列へのポインタ。 スナップショットが適用されていない場合や取得に失敗した場合はCRI_NULLが返ります。

    Remarks

    説明: 適用中のDSPバススナップショット名を取得します。 スナップショットが適用されていない場合はCRI_NULLが返ります。

    See Also
    ApplyDspBusSnapshot(ArgString, int)

    GetGameVariableById(uint)

    LE Pro

    ゲーム変数の取得

    Declaration
    • C#
    • C
    public static float GetGameVariableById(uint id)
    CriFloat32 CRIAPI criAtomEx_GetGameVariableById(CriAtomExGameVariableId id)
    Parameters
    Type Name Description
    uint id

    ゲーム変数ID

    Returns
    Type Description
    float

    CriFloat32 ゲーム変数値

    Remarks

    説明: ACFファイル内に登録されているゲーム変数値を取得します。 指定した id のゲーム変数が存在しない場合、-1.0f が返ります。

    注意: 本関数を実行する前に、ACFファイルを登録しておく必要があります。

    GetGameVariableByName(ArgString)

    LE Pro

    ゲーム変数の取得

    Declaration
    • C#
    • C
    public static float GetGameVariableByName(ArgString name)
    CriFloat32 CRIAPI criAtomEx_GetGameVariableByName(const CriChar8 *name)
    Parameters
    Type Name Description
    ArgString name

    ゲーム変数名

    Returns
    Type Description
    float

    CriFloat32 ゲーム変数値

    Remarks

    説明: ACFファイル内に登録されているゲーム変数を取得します。 指定した名前のゲーム変数が存在しない場合、-1.0f が返ります。

    注意: 本関数を実行する前に、ACFファイルを登録しておく必要があります。

    GetGameVariableInfo(ushort, out GameVariableInfo)

    LE Pro

    ゲーム変数情報の取得(インデックス指定)

    Declaration
    • C#
    • C
    public static bool GetGameVariableInfo(ushort index, out CriAtomEx.GameVariableInfo info)
    CriBool CRIAPI criAtomEx_GetGameVariableInfo(CriUint16 index, CriAtomExGameVariableInfo *info)
    Parameters
    Type Name Description
    ushort index

    ゲーム変数インデックス

    CriAtomEx.GameVariableInfo info

    ゲーム変数情報

    Returns
    Type Description
    bool

    CriBool 情報が取得できたかどうか?(取得できた:true/取得できない:false)

    Remarks

    説明: ゲーム変数インデックスからゲーム変数情報を取得します。 指定したインデックスのゲーム変数が存在しない場合、falseが返ります。

    See Also
    CriAtomEx.GameVariableInfo

    GetNumGameVariables()

    LE Pro

    ゲーム変数の総数の取得

    Declaration
    • C#
    • C
    public static int GetNumGameVariables()
    CriSint32 CRIAPI criAtomEx_GetNumGameVariables(void)
    Returns
    Type Description
    int

    CriSint32 ゲーム変数の総数

    Remarks

    説明: ACFファイル内に登録されているゲーム変数の総数を取得します。

    注意: 本関数を実行する前に、ACFファイルを登録しておく必要があります。 ACFファイルが登録されていない場合、-1が返ります。

    See Also
    GetGameVariableInfo(ushort, out GameVariableInfo)

    GetPerformanceInfo(out PerformanceInfo)

    LE Pro

    パフォーマンス情報の取得

    Declaration
    • C#
    • C
    public static void GetPerformanceInfo(out CriAtom.PerformanceInfo pInfo)
    void criAtomEx_GetPerformanceInfo_(CriAtomPerformanceInfo *p_info)
    Parameters
    Type Name Description
    CriAtom.PerformanceInfo pInfo

    パフォーマンス情報

    Remarks

    説明: パフォーマンス情報を取得します。 本関数は、 AttachPerformanceMonitor() 関数実行後から DetachPerformanceMonitor() 関数を実行するまでの間、利用可能です。

    See Also
    AttachPerformanceMonitor()
    DetachPerformanceMonitor()

    GetStreamingInfo(out StreamingInfo)

    LE Pro

    ストリーミング情報の取得

    Declaration
    • C#
    • C
    public static bool GetStreamingInfo(out CriAtom.StreamingInfo streamingInfo)
    CriBool criAtomEx_GetStreamingInfo_(CriAtomStreamingInfo *streaming_info)
    Parameters
    Type Name Description
    CriAtom.StreamingInfo streamingInfo

    ストリーミング情報保存先のポインタ

    Returns
    Type Description
    bool
    Remarks

    説明: CRI Atomライブラリのストリーミング管理モジュールからストリーミング情報を取得します。 本関数は、呼び出された時点のストリーミング情報を streaming_info に保存します。

    注意: Atomサーバー内の処理と一部排他制御しているため、 優先度逆転によりAtomサーバーを止めてしまわないように注意してください。 一部のプラットフォームでは、ストリーミング情報を取得できません。 本関数の戻り値を確認してください。 エラーが原因でストリーミング情報を取得できなかった場合については、 エラーコールバックが発生していないかを確認してください。

    GetSupportedAcfVersion(out uint, out uint)

    LE Pro

    レジスト可能バージョン情報取得

    Declaration
    • C#
    • C
    public static void GetSupportedAcfVersion(out uint versionLow, out uint versionHigh)
    void CRIAPI criAtomEx_GetSupportedAcfVersion(CriUint32 *version_low, CriUint32 *version_high)
    Parameters
    Type Name Description
    uint versionLow

    レジスト可能下位バージョン

    uint versionHigh

    レジスト可能上位バージョン

    Remarks

    説明: レジスト可能なACFのバージョン情報を取得します。 上位バージョンはライブラリビルド時点での情報のため、この値より上位のACFでも レジスト可能な場合もあります。

    GetTimeMicro()

    LE Pro

    時刻の取得

    Declaration
    • C#
    • C
    public static ulong GetTimeMicro()
    CriUint64 CRIAPI criAtomEx_GetTimeMicro(void)
    Returns
    Type Description
    ulong

    CriUint64 時刻(マイクロ秒単位)

    Remarks

    説明: Atomライブラリ内のマスタタイマーから時刻を取得します。

    See Also
    ResetTimer()

    Initialize(in Config)

    LE Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static bool Initialize(in CriAtomEx.Config config)
    CriBool CRIAPI criAtomEx_Initialize(const CriAtomExConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.Config config

    初期化用コンフィグ構造体

    Returns
    Type Description
    bool

    CriBool 初期化できたかどうか?(できた:true/できない:false)

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 Finalize() 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 CriAtomEx.Config 構造体のacf_infoメンバを使用すると初期化処理内でACFデータの登録が行えます。 初期化処理内でのACFデータ登録を行う場合は、User Allocator方式でメモリ領域を確保する必要があります。 User Allocator方式を用いる場合、ユーザはライブラリにメモリ確保関数を登録しておきます。 workにnull、work_sizeに0を指定して本関数を呼び出すことで、 ライブラリは登録済みのメモリ確保関数を使用して必要なメモリを自動的に確保します。 ユーザがワーク領域を用意する必要はありません。 初期化時に確保されたメモリは、終了処理時( Finalize() 関数実行時)に解放されます。 Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。 ワーク領域のサイズは CalculateWorkSize(in Config) 関数で取得可能です。 初期化処理の前に CalculateWorkSize(in Config) 関数で取得したサイズ分のメモリを予め 確保しておき、本関数に設定してください。 尚、Fixed Memory方式を用いた場合、ワーク領域はライブラリの終了処理( Finalize() 関数) を行うまでの間、ライブラリ内で利用され続けます。 ライブラリの終了処理を行う前に、ワーク領域のメモリを解放しないでください。

    例: 【User Allocator方式によるライブラリの初期化】 User Allocator方式を用いる場合、ライブラリの初期化/終了の手順は以下の通りです。

    1. 初期化処理実行前に、 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を用いてメモリ確保/解放関数を登録する。
    2. 初期化用コンフィグ構造体にパラメーターをセットする。
    3. Initialize(in Config) 関数で初期化処理を行う。 (workにはnull、work_sizeには0を指定する。)
    4. アプリケーション終了時に Finalize() 関数で終了処理を行う。

    InitializeANDROID(in ConfigANDROID)

    LE Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static void InitializeANDROID(in CriAtomEx.ConfigANDROID config)
    void CRIAPI criAtomEx_Initialize_ANDROID(const CriAtomExConfig_ANDROID *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigANDROID config

    初期化用コンフィグ構造体

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 FinalizeANDROID() 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。 ワーク領域サイズの計算には、 CalculateWorkSizeANDROID(in ConfigANDROID) 関数を使用してください。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケータ から必要なワーク領域サイズ分のメモリが動的に確保されます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は内部的に以下の関数を実行します。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config) 本関数を実行する場合、上記関数を実行しないでください。 本関数を実行後、必ず対になる FinalizeANDROID() 関数を実行してください。 また、 FinalizeANDROID() 関数を実行するまでは、本関数を再度実行しないでください。
    See Also
    CriAtomEx.ConfigANDROID
    FinalizeANDROID()
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
    CalculateWorkSizeANDROID(in ConfigANDROID)

    InitializeForUserPcmOutput(in ConfigForUserPcmOutput)

    LE Pro

    ユーザPCM出力用ライブラリ初期化

    Declaration
    • C#
    • C
    public static void InitializeForUserPcmOutput(in CriAtomEx.ConfigForUserPcmOutput config)
    void CRIAPI criAtomEx_InitializeForUserPcmOutput(const CriAtomExConfigForUserPcmOutput *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigForUserPcmOutput config

    初期化用コンフィグ構造体

    Remarks

    説明: ユーザPCM出力モードでライブラリを初期化します。 本関数を使用して初期化処理を行った場合、Atomライブラリは音声出力を行いません。 ユーザは GetPcmDataFloat32(int, int, float[][]) 関数を使用してライブラリから定期的にPCMデータを取得し、 アプリケーション側で音声出力を行う必要があります。

    注意: 本関数と以下の関数は併用できません。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config)
    • 各プラットフォームにおけるAtomライブラリ初期化関数
    See Also
    CriAtomEx.ConfigForUserPcmOutput
    FinalizeForUserPcmOutput()
    GetPcmDataFloat32(int, int, float[][])
    CalculateWorkSizeForUserPcmOutput(in ConfigForUserPcmOutput)

    InitializeIOS(in ConfigIOS)

    LE Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static void InitializeIOS(in CriAtomEx.ConfigIOS config)
    void CRIAPI criAtomEx_Initialize_IOS(const CriAtomExConfig_IOS *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigIOS config

    初期化用コンフィグ構造体

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 FinalizeIOS() 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。 ワーク領域サイズの計算には、 CalculateWorkSizeIOS(in ConfigIOS) 関数を使用してください。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケータ から必要なワーク領域サイズ分のメモリが動的に確保されます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は内部的に以下の関数を実行します。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config) 本関数を実行する場合、上記関数を実行しないでください。 本関数を実行後、必ず対になる FinalizeIOS() 関数を実行してください。 また、 FinalizeIOS() 関数を実行するまでは、本関数を再度実行しないでください。
    See Also
    CriAtomEx.ConfigIOS
    FinalizeIOS()
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
    CalculateWorkSizeIOS(in ConfigIOS)

    InitializeMACOSX(in ConfigMACOSX)

    LE Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static void InitializeMACOSX(in CriAtomEx.ConfigMACOSX config)
    void CRIAPI criAtomEx_Initialize_MACOSX(const CriAtomExConfig_MACOSX *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigMACOSX config

    初期化用コンフィグ構造体

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 FinalizeMACOSX() 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。 ワーク領域サイズの計算には、 CalculateWorkSizeMACOSX(in ConfigMACOSX) 関数を使用してください。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケータ から必要なワーク領域サイズ分のメモリが動的に確保されます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は内部的に以下の関数を実行します。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config)
    FinalizeMACOSX() FinalizeMACOSX()

    本関数を実行する場合、上記関数を実行しないでください。 本関数を実行後、必ず対になる 関数を実行してください。 また、 関数を実行するまでは、本関数を再度実行しないでください。

    See Also
    CriAtomEx.ConfigMACOSX
    FinalizeMACOSX()
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
    CalculateWorkSizeMACOSX(in ConfigMACOSX)

    InitializePC(in ConfigPC)

    LE Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static void InitializePC(in CriAtomEx.ConfigPC config)
    void CRIAPI criAtomEx_Initialize_PC(const CriAtomExConfig_PC *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigPC config

    初期化用コンフィグ構造体

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 FinalizePC() 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。 ワーク領域サイズの計算には、 CalculateWorkSizePC(in ConfigPC) 関数を使用してください。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は内部的に以下の関数を実行します。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config) 本関数を実行する場合、上記関数を実行しないでください。 本関数を実行後、必ず対になる FinalizePC() 関数を実行してください。 また、 FinalizePC() 関数を実行するまでは、本関数を再度実行しないでください。
    See Also
    CriAtomEx.ConfigPC
    FinalizePC()
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
    CalculateWorkSizePC(in ConfigPC)

    InitializePULSE(in ConfigPULSE)

    Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static void InitializePULSE(in CriAtomEx.ConfigPULSE config)
    void CRIAPI criAtomEx_Initialize_PULSE(const CriAtomExConfig_PULSE *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigPULSE config

    初期化用コンフィグ構造体

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 FinalizePULSE() 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。 ワーク領域サイズの計算には、 CalculateWorkSizePULSE(in ConfigPULSE) 関数を使用してください。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケータ から必要なワーク領域サイズ分のメモリが動的に確保されます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は内部的に以下の関数を実行します。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config) 本関数を実行する場合、上記関数を実行しないでください。 本関数を実行後、必ず対になる FinalizePULSE() 関数を実行してください。 また、 FinalizePULSE() 関数を実行するまでは、本関数を再度実行しないでください。
    See Also
    CriAtomEx.ConfigPULSE
    FinalizePULSE()
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
    CalculateWorkSizePULSE(in ConfigPULSE)

    InitializeWASAPI(in ConfigWASAPI)

    LE Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static void InitializeWASAPI(in CriAtomEx.ConfigWASAPI config)
    void CRIAPI criAtomEx_Initialize_WASAPI(const CriAtomExConfig_WASAPI *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigWASAPI config

    初期化用コンフィグ構造体

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 FinalizeWASAPI() 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。 ワーク領域サイズの計算には、 CalculateWorkSizeWASAPI(in ConfigWASAPI) 関数を使用してください。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は内部的に以下の関数を実行します。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config) 本関数を実行する場合、上記関数を実行しないでください。 本関数を実行後、必ず対になる FinalizeWASAPI() 関数を実行してください。 また、 FinalizeWASAPI() 関数を実行するまでは、本関数を再度実行しないでください。
    See Also
    CriAtomEx.ConfigWASAPI
    FinalizeWASAPI()
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
    CalculateWorkSizeWASAPI(in ConfigWASAPI)

    InitializeWEBAUDIO(in ConfigWEBAUDIO)

    LE Pro

    ライブラリの初期化

    Declaration
    • C#
    • C
    public static void InitializeWEBAUDIO(in CriAtomEx.ConfigWEBAUDIO config)
    void CRIAPI criAtomEx_Initialize_WEBAUDIO(const CriAtomExConfig_WEBAUDIO *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx.ConfigWEBAUDIO config

    初期化用コンフィグ構造体

    Remarks

    説明: ライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 Finalize()_WebAudio 関数を実行するまでの間、 利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。 ワーク領域サイズの計算には、 CalculateWorkSize(in Config)_WebAudio 関数を使用してください。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケータ から必要なワーク領域サイズ分のメモリが動的に確保されます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    注意: 本関数は内部的に以下の関数を実行します。

    • Initialize(in Config)
    • Initialize(in Config)
    • Initialize(in Config)
    FinalizeWEBAUDIO()

    本関数を実行する場合、上記関数を実行しないでください。 本関数を実行後、必ず対になる 関数を実行してください。 また、 Finalize()_WebAudio 関数を実行するまでは、本関数を再度実行しないでください。

    See Also
    CriAtomEx.ConfigWEBAUDIO
    FinalizeWEBAUDIO()
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
    CalculateWorkSizeWEBAUDIO(in ConfigWEBAUDIO)

    IsDataPlaying(IntPtr, int)

    LE Pro

    ACBハンドルが即時解放可能かどうかのチェック

    Declaration
    • C#
    • C
    public static bool IsDataPlaying(IntPtr buffer, int size)
    CriBool CRIAPI criAtomEx_IsDataPlaying(void *buffer, CriSint32 size)
    Parameters
    Type Name Description
    IntPtr buffer

    バッファー

    int size

    バッファーサイズ

    Returns
    Type Description
    bool

    CriBool 再生中かどうか(true = 再生中のプレーヤーあり、false = 再生中のプレーヤーなし)

    Remarks

    説明: SetData(IntPtr, int) 関数でセットしたバッファー領域が解放可能かどうかをチェックします。

    備考: メモリ再生を行っているAtomExプレーヤーを全て停止させた場合でも、 ライブラリ内には当該メモリ領域を参照しているボイスが存在する可能性があります。 ( StopWithoutReleaseTime() 関数で停止処理を行った場合や、 ボイスの奪い取りが発生した場合、AtomExプレーヤーからボイスは切り離されますが、 ボイスが完全に停止するまでの間、データは参照される可能性があります。)

    注意: 本関数を実行すると、指定したデータ領域を参照しているAtomプレーヤーの存在を 検索する処理が動作します。 そのため、本関数実行中に他スレッドでAtomプレーヤーの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。 本関数実行時にAtomプレーヤーの作成/破棄を他スレッドで行う必要がある場合、 Atomプレーヤーの作成/破棄を Lock() 関数でロックしてから実行ください。 SetData(IntPtr, int) 関数でセットしたバッファーを解放する際には、 データをセットしたプレーヤーに対し停止処理を行った後、 本関数が false を返す状態になるまで待つ必要があります。 本関数が true を返すタイミングでバッファー領域を解放した場合、 アクセス違反等の致命的な問題が発生する可能性があります。

    See Also
    SetData(IntPtr, int)

    IsEnableCalculationAisacControlFrom3dPosition()

    LE Pro

    パンタイプがパン3Dの時に、距離減衰AISACと角度AISACコントロール値を音源に反映しているか取得

    Declaration
    • C#
    • C
    public static bool IsEnableCalculationAisacControlFrom3dPosition()
    CriBool CRIAPI criAtomEx_IsEnableCalculationAisacControlFrom3dPosition(void)
    Returns
    Type Description
    bool
    Remarks

    説明: パンタイプがパン3Dの音源を再生する際に、3Dソースと3Dリスナーオブジェクトが 設定されているときに距離減衰AISACと角度AISACの計算結果が音源に適用されているか否かを取得します。

    注意: Atomライブラリのデフォルトでは、パン3D音源に対して距離減衰AISACと角度AISACの計算結果は適用されません。 本関数はCRI Atomライブラリ Ver.2.17.19 以前の動作との互換の為に追加されました。

    See Also
    EnableCalculationAisacControlFrom3dPosition(NativeBool)

    IsInitializationSucceededIOS()

    LE Pro

    サウンドの初期化に成功したか否か

    Declaration
    • C#
    • C
    public static bool IsInitializationSucceededIOS()
    CriBool CRIAPI criAtomEx_IsInitializationSucceeded_IOS(void)
    Returns
    Type Description
    bool
    Remarks

    説明: サウンドライブラリの初期化に成功したか否かを返す関数です。 iOSでは、アプリがバックグラウンドにある状態でサウンドライブラリの初期化を行った場合に 内部的にAudioSessionの初期化等に失敗している場合があります。 本関数で初期化が失敗していることを確認した場合は、アプリがフォアグラウンドにある状態で 再度ライブラリの初期化を行うか、 RecoverSoundIOS() を用いて サウンドの復旧を行う必要があります。

    IsInitialized()

    LE Pro

    ライブラリ初期化状態の取得

    Declaration
    • C#
    • C
    public static bool IsInitialized()
    CriBool CRIAPI criAtomEx_IsInitialized(void)
    Returns
    Type Description
    bool

    CriBool 初期化中かどうか

    Remarks

    説明: ライブラリが既に初期化されているかどうかをチェックします。

    See Also
    Initialize(in Config)
    Finalize()

    IsInterruptedOtherAudioIOS()

    LE Pro

    割り込みフラグの取得

    Declaration
    • C#
    • C
    public static bool IsInterruptedOtherAudioIOS()
    CriBool CRIAPI criAtomEx_IsInterruptedOtherAudio_IOS(void)
    Returns
    Type Description
    bool
    Remarks

    説明: 外部要因によって音声の割り込みが発生し、Atomライブラリの音声が停止している場合trueが返ります。 CriAtomEx.ConfigIOS::use_handling_os_notificationsがtrueで初期化されている場合、 Atomライブラリの音声を自動復帰します。自動復帰が完了するとfalseが返ります。 EnableBackgroundPlaybackIOS() でバックグラウンド再生を有効にしている場合、 自動復帰は無効になります。音声を復帰させる場合はResumeAudioIOS()を呼び出して音声を再開してください。

    Lock()

    LE Pro

    サーバー処理の割り込みを防止

    Declaration
    • C#
    • C
    public static void Lock()
    void CRIAPI criAtomEx_Lock(void)
    Remarks

    説明: サーバー処理の割り込み抑止します。 本関数実行後、Unlock() 関数実行までの間、サーバー処理の動作が抑止されます。 複数のAPIを同一オーディオフレーム内で確実に実行したい場合には、本関数でサーバー処理の 割り込みを防止し、それらの関数を実行してください。

    注意: 割り込み防止区間で同時に複数のプレーヤーの再生をスタートした場合でも、 以下の要因により再生する波形がサンプル単位で同期しない場合があります。

    • ストリーム再生時のデータ供給に伴う発音遅延
    • 発音リソースの奪い取りに伴う発音遅延 再生同期を行いたい場合は、Prepare() 関数を使用して再生準備を行い、 準備完了後に割り込み防止区間で再生を開始してください。 本関数実行後、長時間Unlock() 関数を呼ばない場合、音声再生が途切れる恐れがあります。 サーバー処理の割り込みを防止する区間は、最小限に抑える必要があります。
    See Also
    Unlock()

    PauseTimer(NativeBool)

    LE Pro

    タイマーのポーズ

    Declaration
    • C#
    • C
    public static void PauseTimer(NativeBool sw)
    void CRIAPI criAtomEx_PauseTimer(CriBool sw)
    Parameters
    Type Name Description
    NativeBool sw

    CRI_TRUE=タイマー一時停止、CRI_FALSE=タイマー再開

    Remarks

    説明: Atomライブラリ内のマスタタイマーを一時停止/再開します。 マスタタイマーを一時停止すると、シーケンス時刻が進行しなくなります。

    備考: 本関数は アプリケーションが休止したり一時停止するようなプラットフォームにおいて、 休止中や一時停止中でもタイマーが進行してしまうプラットフォーム向けの機能です。 アプリケーションが休止状態や一時停止状態に遷移する前に 本関数でマスタタイマーを一時停止しておくことで、休止中のシーケンスの進行を止める事ができます。

    注意: 本関数で一時停止する対象はあくまでAtomライブラリ内のマスタタイマーです。 本関数では発音中のボイス等を一時停止できません。 本関数で設定したポーズフラグは、CRI Atomサーバー処理が実行されたタイミングで反映されます。 即座に同期をとる必要がある場合は、ExecuteAudioProcess() 関数を呼び出す事で同期をとることができます。 ただし、ExecuteAudioProcess()を呼び出したスレッドでオーディオ処理が実行されるため、 そのCPU負荷を許容できるかに注意してください。

    See Also
    ResetTimer()

    RecoverSoundIOS()

    LE Pro

    サウンドの復旧

    Declaration
    • C#
    • C
    public static void RecoverSoundIOS()
    void CRIAPI criAtomEx_RecoverSound_IOS(void)
    Remarks

    説明: AudioSessionAddPropertyListener Callback関数から呼び出すための関数です。 ライブラリ内部のボイスを復旧します。 iOSのデーモンであるmediaserverdが死亡した際には、ライブラリ内のボイスが無効なボイスになり、 再生成が必要になります。 このように、ボイスの復旧が必要な際に呼び出してください。

    RegisterAcfData(IntPtr, int)

    LE Pro

    オンメモリACFデータの登録

    Declaration
    • C#
    • C
    public static bool RegisterAcfData(IntPtr acfData, int acfDataSize)
    CriBool CRIAPI criAtomEx_RegisterAcfData(void *acf_data, CriSint32 acf_data_size, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    IntPtr acfData

    ACFデータアドレス

    int acfDataSize

    ACFデータサイズ

    Returns
    Type Description
    bool

    CriBool データの登録に成功したか

    Remarks

    説明: メモリ上に配置されたACFデータをライブラリに取り込みます。 ACF情報の登録に必要なワーク領域のサイズは、 CalculateWorkSizeForRegisterAcfData(IntPtr, int) 関数で計算します。 ACFファイルの登録に成功すると、本関数は戻り値として true を返します。 データ不正などの理由等によりACFファイルの読み込みに失敗した場合、本関数は戻り値 としてfalse を返します。

    備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。)

    注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数は、関数実行時に再生中の音声をすべて停止します。 また、プレーヤーに設定した以下のACFに関連するパラメーターを全てリセットします。

    1. AISAC
    2. AISACコントロール値
    3. カテゴリ
    4. セレクターラベル
    5. バスセンド
    UnregisterAcf() UnregisterAcf()

    本関数にセットしたデータ領域とワーク領域は、 関数を実行するまでの間、 アプリケーションで保持する必要があります。 ( 関数実行前に、ワーク領域のメモリを解放しないでください。) また、データ領域の一部はワークとして使用されます。

    See Also
    UnregisterAcf()

    RegisterAcfFile(CriFsBinder, ArgString)

    LE Pro

    ACFファイルの登録

    Declaration
    • C#
    • C
    public static bool RegisterAcfFile(CriFsBinder binder, ArgString path)
    CriBool CRIAPI criAtomEx_RegisterAcfFile(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ArgString path

    ファイルパス

    Returns
    Type Description
    bool

    CriBool ファイル読み込み結果

    Remarks

    説明: ACFファイルをロードし、ライブラリに取り込みます。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。) ワーク領域を指定して本関数を使用する場合、 CalculateWorkSizeForRegisterAcfFile(CriFsBinder, ArgString) 関数 を使用してワークサイズを計算してください。 ACFファイルの登録に成功すると、本関数は戻り値として true を返します。 リードエラー等によりACFファイルの読み込みに失敗した場合、本関数は戻り値として false を返します。

    備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。

    注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数は、関数実行時に再生中の音声をすべて停止します。 また、プレーヤーに設定した以下のACFに関連するパラメーターを全てリセットします。

    1. AISAC
    2. AISACコントロール値
    3. カテゴリ
    4. セレクターラベル
    5. バスセンド
    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) CalculateWorkSizeForRegisterAcfFile(CriFsBinder, ArgString) CriAtomEx.Config

    マクロによるアロケーター登録を行わずに 関数によって計算したワークサイズ分の ワーク領域を指定した本関数の呼び出しでCRI_FALSEが返された場合、ワーク領域不足が要因 の可能性があります。 ライブラリ初期化時に指定する 構造体の以下のメンバの設定値 が適切であるか確認してください。

    RegisterAcfFileById(CriFsBinder, ushort)

    LE Pro

    ACFファイルの登録(CPKコンテンツID指定)

    Declaration
    • C#
    • C
    public static bool RegisterAcfFileById(CriFsBinder binder, ushort id)
    CriBool CRIAPI criAtomEx_RegisterAcfFileById(CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ushort id

    CPKコンテンツID

    Returns
    Type Description
    bool

    CriBool ファイル読み込み結果

    Remarks

    説明: ACFファイルをロードし、ライブラリに取り込みます。 ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 RegisterAcfFile(CriFsBinder, ArgString) 関数と機能は同じです。

    備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。

    注意: 本関数は、関数実行時に再生中の音声をすべて停止します。 また、プレーヤーに設定したパラメーターを全てリセットします。

    See Also
    RegisterAcfFile(CriFsBinder, ArgString)

    ResetPerformanceMonitor()

    LE Pro

    パフォーマンスモニターのリセット

    Declaration
    • C#
    • C
    public static void ResetPerformanceMonitor()
    void criAtomEx_ResetPerformanceMonitor_()
    Remarks

    説明: 現在までの計測結果を破棄します。 パフォーマンスモニターは、 AttachPerformanceMonitor() 関数実行直後 からパフォーマンス情報の取得を開始し、計測結果を累積します。 以前の計測結果を以降の計測結果に含めたくない場合には、 本関数を実行し、累積された計測結果を一旦破棄する必要があります。

    ResetTimer()

    LE Pro

    タイマーのリセット

    Declaration
    • C#
    • C
    public static void ResetTimer()
    void CRIAPI criAtomEx_ResetTimer(void)
    Remarks

    説明: Atomライブラリ内のマスタタイマーの時刻をリセットします。

    備考: 本関数は GetTimeMicro() 関数が返す値に対してのみ影響します。 本関数を実行しても、AtomExプレーヤーの再生時刻がクリアされることはありません。

    See Also
    ResetTimer()

    ResumeAudioIOS()

    LE Pro

    音声の再開

    Declaration
    • C#
    • C
    public static void ResumeAudioIOS()
    void CRIAPI criAtomEx_ResumeAudio_IOS(void)
    Remarks

    説明: バックグラウンド再生有効時に音声が停止した際、音声を復帰させます。 IsInterruptedOtherAudioIOS() がtrueを返すタイミングのみ効果があります。

    SetAcfConsistencyCheckErrorLevel(Level)

    LE Pro

    ACF整合性チェックエラーレベルの設定

    Declaration
    • C#
    • C
    public static void SetAcfConsistencyCheckErrorLevel(CriErr.Level level)
    void CRIAPI criAtomEx_SetAcfConsistencyCheckErrorLevel(CriErrorLevel level)
    Parameters
    Type Name Description
    CriErr.Level level

    エラーレベル

    Remarks

    説明: ACBロード時のACFとの整合性チェックで発生するエラーの通知レベルを設定します。 デフォルト状態での通知レベルは Warning です。

    SetBufferingTimeWEBAUDIO(int)

    LE Pro

    バッファリング時間の設定

    Declaration
    • C#
    • C
    public static void SetBufferingTimeWEBAUDIO(int bufferingTime)
    void CRIAPI criAtomEx_SetBufferingTime_WEBAUDIO(int buffering_time)
    Parameters
    Type Name Description
    int bufferingTime
    Remarks

    説明: Atomが内部でバッファリングする時間を設定します。

    注意: ブラウザーのAtomはシングルスレッドで動作するため、 アプリケーションの処理によってAtomの定期処理が阻害されると 音途切れが発生します。内部バッファリングを増やすことで 音途切れの影響を緩和することができます。 一方、バッファリング時間を増やすと発音遅延が増えるデメリットがあります。 そのため、ファイル読み込みなど重い処理の前に本関数でバッファリング時間を増やし、 処理後に0に戻すことを推奨します。 設定できる値は0(デフォルト)~200 msです。

    SetChannelMapping(int, uint)

    LE Pro

    チャンネルマッピングパターンの指定

    Declaration
    • C#
    • C
    public static void SetChannelMapping(int nch, uint type)
    void criAtomEx_SetChannelMapping_(CriSint32 nch, CriUint32 type)
    Parameters
    Type Name Description
    int nch

    マッピングパターンを変更するチャンネル数

    uint type

    マッピングパターン

    Remarks

    説明: 音声データの各チャンネルと出力スピーカーの対応付けを変更します。 例えば、5ch音声データを再生した場合、デフォルト状態では各チャンネルが L, R, C, Ls, Rs の順で出力されます。 これに対し、SetChannelMapping(int, uint)(5, 1); を実行した場合、 5ch音声データの各チャンネルが L, R, LFE, Ls, Rs の順で出力されるようになります。

    備考: 現状、本関数は5ch音声データのマッピングパターン変更にしか対応していません。

    SetConfigForWorkSizeCalculation(in Config)

    LE Pro

    ワーク領域サイズ計算用コンフィグ構造体の設定

    Declaration
    • C#
    • C
    public static void SetConfigForWorkSizeCalculation(in CriAtomEx.Config config)
    void CRIAPI criAtomEx_SetConfigForWorkSizeCalculation(const CriAtomExConfig *config)
    Parameters
    Type Name Description
    CriAtomEx.Config config

    初期化用コンフィグ構造体

    Remarks

    説明: ワーク領域サイズの計算用に、ライブラリ初期化用コンフィグ構造体 ( CriAtomEx.Config 構造体)を仮登録します。 ACFの登録やボイスプールの作成に必要なワーク領域のサイズは、 ライブラリ初期化時( Initialize(in Config) 関数実行時) に設定する構造体のパラメーターによって変化します。 そのため、通常はACFの登録やボイスプールの作成に必要なワーク領域サイズを計算する前に、 ライブラリを初期化する必要があります。 本関数を使用してライブラリ初期化用コンフィグ構造体を登録した場合、 ACFの登録やボイスプールの作成に必要なワーク領域のサイズを、 初期化処理なしに計算可能になります。 本関数を実行することで、以下の処理が初期化処理なしに実行可能となります。

    • CalculateWorkSizeForRegisterAcfData(IntPtr, int) 関数
    • ボイスプール作成用ワーク領域サイズの計算 ( CalculateWorkSizeForStandardVoicePool(in StandardVoicePoolConfig) 関数等)

    備考: 引数( config )に null を指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で ワーク領域サイズを計算します。 現状、本関数で一旦コンフィグ構造体を設定すると、 設定前の状態(未初期化状態でのワーク領域サイズ計算をエラーとする動作) に戻すことができなくなります。 (関数を再度実行してパラメーターを上書きすることは可能です。)

    注意: 本関数で登録した初期化用コンフィグ構造体は、 ライブラリ未初期化状態でのワーク領域サイズ計算にしか使用されません。 ライブラリ初期化後には本関数に設定したパラメーターではなく、 初期化時に指定されたパラメーターがワーク領域サイズの計算に使用されます。 (本関数で登録する構造体のパラメーターと、 ライブラリの初期化に使用する構造体のパラメーターが異なる場合、 ワーク領域サイズが不足し、オブジェクトの作成に失敗する恐れがあります。) RegisterAcfFile(CriFsBinder, ArgString) 関数や LoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数等、 ワーク領域計算時にファイルアクセスが必要になる API については、 本関数を実行した場合でもワーク領域サイズの計算が行えません。 (ワーク領域サイズを計算するためにはライブラリを初期化する必要が あります。)

    See Also
    CalculateWorkSizeForRegisterAcfData(IntPtr, int)
    CalculateWorkSizeForStandardVoicePool(in StandardVoicePoolConfig)

    SetCueLinkCallback(delegate* unmanaged[Cdecl]<IntPtr, CueLinkInfo*, int>, IntPtr)

    LE Pro

    キューリンクコールバック関数の登録

    Declaration
    • C#
    • C
    public static void SetCueLinkCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomEx.CueLinkInfo*, int> func, IntPtr obj)
    void CRIAPI criAtomEx_SetCueLinkCallback(CriAtomExCueLinkCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, CueLinkInfo*, int> func

    キューリンクコールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: キュー再生時にキューリンクを処理した際に、キューリンク情報を受け取るコールバック関数を登録します。

    注意: 登録されたコールバック関数は、ライブラリ内でキューリンクを処理したタイミングで実行されます。 そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。 基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。 本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    See Also
    CriAtomEx.CueLinkCbFunc

    SetDefaultConfig(out Config)

    LE Pro

    ライブラリ初期化用コンフィグ構造体にデフォルト値をセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfig(out CriAtomEx.Config pConfig)
    void criAtomEx_SetDefaultConfig_(CriAtomExConfig *p_config)
    Parameters
    Type Name Description
    CriAtomEx.Config pConfig

    初期化用コンフィグ構造体へのポインタ

    Remarks

    説明: Initialize(in Config) 関数に設定するコンフィグ構造体( CriAtomEx.Config )に、 デフォルトの値をセットします。

    See Also
    CriAtomEx.Config

    SetDefaultConfigForUserPcmOutput(out ConfigForUserPcmOutput)

    LE Pro

    ライブラリ初期化用コンフィグ構造体にデフォルト値をセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForUserPcmOutput(out CriAtomEx.ConfigForUserPcmOutput pConfig)
    void criAtomEx_SetDefaultConfigForUserPcmOutput_(CriAtomExConfigForUserPcmOutput *p_config)
    Parameters
    Type Name Description
    CriAtomEx.ConfigForUserPcmOutput pConfig

    初期化用コンフィグ構造体へのポインタ

    Remarks

    説明: InitializeForUserPcmOutput(in ConfigForUserPcmOutput) 関数に設定するコンフィグ構造体 ( CriAtomEx.ConfigForUserPcmOutput )に、デフォルトの値をセットします。

    See Also
    CriAtomEx.ConfigForUserPcmOutput

    SetFreeTimeBufferingFlagForDefaultDevice(NativeBool)

    LE Pro

    ファイルI/Oの空き時間を使ったストリーミング読み込みを行うかどうか

    Declaration
    • C#
    • C
    public static bool SetFreeTimeBufferingFlagForDefaultDevice(NativeBool flag)
    CriBool criAtomEx_SetFreeTimeBufferingFlagForDefaultDevice_(CriBool flag)
    Parameters
    Type Name Description
    NativeBool flag

    CRI_TRUE=ファイルI/Oの空き時間を使って読み込む

    Returns
    Type Description
    bool
    Remarks

    説明: CRI Atomライブラリのストリーミング管理モジュールに対して、 ファイルI/Oの空き時間を使ってストリーミング読み込みを行うかどうかを設定します。 trueを設定すると、CRI Atomライブラリのストリーミング管理モジュールは ファイルI/Oの空き時間を使って、空きバッファーに対してデータを余分に読み込みます。 falseを設定すると、CRI Atomライブラリのストリーミング管理モジュールは ファイルI/Oの空き時間を使わなくなり、余分なストリーミング読み込みを行わなくなります。 デフォルトではtrueを設定した状態です。

    備考: ファイルI/Oの空き時間を使い、空きバッファーに対してデータを余分に読み込んでおくことで、 シークの発生頻度を減らす事ができ、総合的なファイルI/Oの効率が向上します。 一方、通常ファイルのロード処理は、ストリーミングの読み込みよりも優先度が低いため、 空きバッファーが大きすぎると通常ファイルのロード処理を大幅に遅延させてしまいます。

    注意: Atomサーバー内の処理と一部排他制御しているため、 優先度逆転によりAtomサーバーを止めてしまわないように注意してください。

    SetGameVariableById(uint, float)

    LE Pro

    ゲーム変数の設定

    Declaration
    • C#
    • C
    public static void SetGameVariableById(uint id, float value)
    void CRIAPI criAtomEx_SetGameVariableById(CriAtomExGameVariableId id, CriFloat32 value)
    Parameters
    Type Name Description
    uint id

    ゲーム変数ID

    float value

    ゲーム変数値

    Remarks

    説明: ACFファイル内に登録されているゲーム変数に値を設定します。 設定可能な範囲は0.0f~1.0fの間です。

    備考: ゲーム変数の値は以下のサウンド制御において参照されます。

    • スイッチキューによる再生トラックの切り替え
    • AISAC によるパラメーターの制御

    注意: 本関数を実行する前に、ACFファイルを登録しておく必要があります。 ゲーム変数の値に同じ値を設定した際は AISAC のパラメーター更新の処理は発生しません。

    SetGameVariableByName(ArgString, float)

    LE Pro

    ゲーム変数の設定

    Declaration
    • C#
    • C
    public static void SetGameVariableByName(ArgString name, float value)
    void CRIAPI criAtomEx_SetGameVariableByName(const CriChar8 *name, CriFloat32 value)
    Parameters
    Type Name Description
    ArgString name

    ゲーム変数名

    float value

    ゲーム変数値

    Remarks

    説明: ACFファイル内に登録されているゲーム変数に値を設定します。 設定可能な範囲は0.0f~1.0fの間です。

    備考: ゲーム変数の値は以下のサウンド制御において参照されます。

    • スイッチキューによる再生トラックの切り替え
    • AISAC によるパラメーターの制御

    注意: 本関数を実行する前に、ACFファイルを登録しておく必要があります。 ゲーム変数の値に同じ値を設定した際は AISAC のパラメーター更新の処理は発生しません。

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

    LE Pro

    ボイス停止を監視するコールバック関数の登録

    Declaration
    • C#
    • C
    public static void SetMonitoringVoiceStopCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomEx.MonitoringVoiceStopInfo*, void> func, IntPtr obj)
    void CRIAPI criAtomEx_SetMonitoringVoiceStopCallback(CriAtomExMonitoringVoiceStopCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, MonitoringVoiceStopInfo*, void> func

    ボイス停止監視コールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: ボイスの停止を監視するコールバック関数の登録をします。 本関数を実行すると、第 1 引数( func ) でセットされたコールバック関数が監視している再生ID内で発音しているボイスが停止する際に呼び出されます。 コールバック関数には、停止ボイスに関する情報が CriAtomEx.MonitoringVoiceStopInfo 構造体として渡されます。

    備考: 第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。 コールバック関数のその他の引数については、 別途 CriAtomEx.MonitoringVoiceStopCbFunc の説明をご参照ください。 SetMonitoringVoiceStopPlaybackId(CriAtomExPlayback) 関数にて設定した監視再生IDにて再生中のキューが、 以下の構造・設定を持つ場合にコールバック関数にて通知される再生IDが監視再生IDとは異なることがあります。 これは再生内部処理ににて別途再生IDが割り振られるためとなります。

    • キューリンクを使用している
    • シーケンスタイプがトラック遷移タイプのキュー
    See Also
    CriAtomEx.MonitoringVoiceStopCbFunc
    SetMonitoringVoiceStopPlaybackId(CriAtomExPlayback)

    SetMonitoringVoiceStopPlaybackId(CriAtomExPlayback)

    LE Pro

    ボイス停止を監視する再生IDの登録

    Declaration
    • C#
    • C
    public static void SetMonitoringVoiceStopPlaybackId(CriAtomExPlayback playbackId)
    void CRIAPI criAtomEx_SetMonitoringVoiceStopPlaybackId(CriAtomExPlaybackId playback_id)
    Parameters
    Type Name Description
    CriAtomExPlayback playbackId

    ボイス停止を監視する再生ID

    Remarks

    説明: ボイスの停止を監視する再生IDを登録をします。 監視可能な再生IDは1つだけです。 既に再生IDが設定済みの状態で本関数を呼び出した場合は、監視再生ID情報が上書きされます。 監視を行うためにはSetMonitoringVoiceStopCallback(delegate* unmanaged[Cdecl]<IntPtr, MonitoringVoiceStopInfo*, void>, IntPtr) 関数で通知を行うためのコールバック関数を登録してください。

    備考: 監視再生IDにて再生中のキューのアクショントラックによる新規キューの再生が行われた場合、 この新規キューからの発音ボイスについてはボイス停止の監視対象とはなりません。 これはアクションによる再生開始が、呼び出し元キューとの依存関係を持たない状態で行われるためとなります。 このため、アクションの呼び出し元キューと呼び出し先キューの両方より発音しているボイスの停止を同時に監視することは出来ません。 アクションにて再生を開始したキュー再生IDは SetPlaybackEventCallback(delegate* unmanaged[Cdecl]<IntPtr, Event, InfoDetail*, void>, IntPtr) 関数でコールバック関数を 登録して取得出来ます。適宜、取得・設定を行ってください。

    See Also
    SetMonitoringVoiceStopCallback(delegate* unmanaged[Cdecl]<IntPtr, MonitoringVoiceStopInfo*, void>, IntPtr)

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

    LE Pro

    プレイバックキャンセルコールバック関数の登録

    Declaration
    • C#
    • C
    public static void SetPlaybackCancelCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback.CancelInfo*, void> func, IntPtr obj)
    void CRIAPI criAtomEx_SetPlaybackCancelCallback(CriAtomExPlaybackCancelCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, CancelInfo*, void> func

    プレイバックキャンセルコールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: キュー再生時に再生開始処理のキャンセルが発生した際に、プレイバックキャンセル情報を受け取るコールバック関数を登録します。

    注意: 登録されたコールバック関数は、ライブラリ内で再生開始処理がキャンセルされるタイミングで実行されます。 そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。 基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。 本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    See Also
    CriAtomExPlayback.CancelCbFunc

    SetRandomSeed(uint)

    LE Pro

    乱数種の設定

    Declaration
    • C#
    • C
    public static void SetRandomSeed(uint seed)
    void CRIAPI criAtomEx_SetRandomSeed(CriUint32 seed)
    Parameters
    Type Name Description
    uint seed

    乱数種

    Remarks

    説明: CRI Atomライブラリ全体で共有する疑似乱数生成器に乱数種を設定します。 乱数種を設定することにより、各種ランダム再生処理に再現性を持たせることができます。 AtomExプレーヤーごとに再現性を持たせたい場合は、SetRandomSeed(uint) 関数を使用してください。

    See Also
    SetRandomSeed(uint)

    SetServerThreadPriorityIOS(int)

    LE Pro

    サーバスレッドプライオリティの設定

    Declaration
    • C#
    • C
    public static void SetServerThreadPriorityIOS(int prio)
    void CRIAPI criAtomEx_SetServerThreadPriority_IOS(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Remarks

    説明: CRIサーバスレッドのプライオリティを設定します。 引数 prio は pthread のプライオリティ設定値として使用します。 プライオリティ設定値はメインスレッドからの相対値になります。 アプリケーションのメインスレッド(0)よりも高いプライオリティを指定してください。 プライオリティのデフォルト値は16です。

    注意: InitializeIOS(in ConfigIOS) 関数実行前に本関数を実行することはできません。 サーバ処理スレッドは、CRI File Systemライブラリでも利用されています。 すでにCRI File SystemライブラリのAPIでサーバ処理スレッドの設定を変更している場合 本関数により設定が上書きされますのでご注意ください。

    SetServerThreadPriorityMACOSX(int)

    LE Pro

    サーバスレッドプライオリティの設定

    Declaration
    • C#
    • C
    public static void SetServerThreadPriorityMACOSX(int prio)
    void CRIAPI criAtomEx_SetServerThreadPriority_MACOSX(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Remarks

    説明: CRIサーバスレッドのプライオリティを設定します。 引数 prio は pthread のプライオリティ設定値として使用します。 指定できる値の範囲は通常 -16~99で、数字が大きい方が優先度が高くなります。 アプリケーションのメインスレッド(0)よりも高いプライオリティを指定してください。 プライオリティのデフォルト値は10です。

    注意: InitializeMACOSX(in ConfigMACOSX) 関数実行前に本関数を実行することはできません。 サーバ処理スレッドは、CRI File Systemライブラリでも利用されています。 すでにCRI File SystemライブラリのAPIでサーバ処理スレッドの設定を変更している場合 本関数により設定が上書きされますのでご注意ください。

    SetSpeakerAngleArray(uint, in float)

    LE Pro

    スピーカー角度の設定

    Declaration
    • C#
    • C
    public static void SetSpeakerAngleArray(uint speakerSystem, in float angleArray)
    void CRIAPI criAtomEx_SetSpeakerAngleArray(CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
    Parameters
    Type Name Description
    uint speakerSystem

    出力スピーカーの並び順

    float angleArray

    出力スピーカーの角度配列

    Remarks

    説明: パン3Dや3Dポジショニングの計算時に使用する、出力スピーカーの角度(配置)を設定します。 角度は、正面方向を0度として-180度から180度の間で設定してください。 角度配列は、出力スピーカーの並び順のスピーカー数以上の要素数の配列を指定してください。 角度配列に null を指定すると、出力スピーカーの並び順に合わせて、デフォルトの角度を設定します。

    注意: FRONT LEFTとFRONT RIGHTの位置を入れ替えるような設定をした場合、意図しない挙動になる可能性があります。

    補足: LOW FREQUENCYの角度を変更しても、パン3Dや3Dポジショニングの計算結果は変化しません。 設定した角度は、各スピーカーシステムごとに独立して設定されます。

    See Also
    SetSpeakerAngles(float, float, float, float)

    SetSpeakerAngles(float, float, float, float)

    LE Pro

    5.1chスピーカー角度の設定

    Declaration
    • C#
    • C
    public static void SetSpeakerAngles(float angleL, float angleR, float angleSl, float angleSr)
    void CRIAPI criAtomEx_SetSpeakerAngles(CriFloat32 angle_l, CriFloat32 angle_r, CriFloat32 angle_sl, CriFloat32 angle_sr)
    Parameters
    Type Name Description
    float angleL

    フロントレフトスピーカーの角度

    float angleR

    フロントライトスピーカーの角度

    float angleSl

    サラウンドレフトスピーカーの角度

    float angleSr

    サラウンドライトスピーカーの角度

    Remarks

    説明: パン3Dや3Dポジショニングの計算時に使用する、出力スピーカーの角度(配置)を設定します。 角度は、正面方向を0度として-180度から180度の間で設定してください。

    注意: 本関数は5.1ch向けのパンスピーカータイプ (4CH または 5CH) にのみ影響します。 7.1ch向けのパンスピーカータイプ (6CH または 7CH) のスピーカー角度を変更する場合は、SetSpeakerAngleArray(uint, in float) 関数を使用してください。 設定するスピーカー角度は、angle_sl < angle_l < angle_r < angle_sr の順となるような配置にする必要があります。

    See Also
    SetSpeakerAngleArray(uint, in float)

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

    LE Pro

    トラックトランジションバイセレクターコールバック関数の登録

    Declaration
    • C#
    • C
    public static void SetTrackTransitionBySelectorCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomEx.TrackTransitionBySelectorInfo*, void> func, IntPtr obj)
    void CRIAPI criAtomEx_SetTrackTransitionBySelectorCallback(CriAtomExTrackTransitionBySelectorCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, TrackTransitionBySelectorInfo*, void> func

    トラックトランジションバイセレクターコールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: トラックトランジションバイセレクタータイプキューの再生時にトランジション処理を行った際の情報を受け取るコールバック関数を登録します。

    注意: 登録されたコールバック関数は、ライブラリ内でトランジション処理が開始されるタイミングで実行されます。 そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。 基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。 本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    See Also
    CriAtomEx.TrackTransitionBySelectorCbFunc

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

    LE Pro

    ユーザアロケーターの登録

    Declaration
    • C#
    • C
    public static void SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr> pMallocFunc, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> pFreeFunc, IntPtr pObj)
    void criAtomEx_SetUserAllocator_(CriAtomMallocFunc p_malloc_func, CriAtomFreeFunc p_free_func, void *p_obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr> pMallocFunc

    メモリ確保関数

    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> pFreeFunc

    メモリ解放関数

    IntPtr pObj

    ユーザ指定オブジェクト

    Remarks

    説明: CRI Atom ライブラリにメモリアロケーター(メモリの確保/解放関数)を登録します。 本メソッドでアロケーターを登録すると、Atomライブラリがワーク領域を必要とするタイミングで、 ユーザが登録したメモリ確保/解放処理が呼び出されることになります。 その結果、ワーク領域を必要とする関数( CriAtomExPlayer(in Config) 関数等)に対し、 個別にワーク領域をセットする処理を省略することが可能になります。 (ワーク領域に null ポインタ、ワーク領域サイズに 0 バイトを指定した場合でも、 アロケーターからの動的メモリ確保によりライブラリが問題なく動作するようになります。)

    注意: メモリ確保/解放関数のポインタに null を指定することで、 アロケーターの登録を解除することも可能です。 ただし、未解放のメモリ領域が残っている状態で登録を解除すると、 エラーコールバックが返され、登録の解除に失敗します。 (引き続き登録済みのアロケーターが呼び出されることになります。) 本メソッドは内部的に SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドや SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr) 関数、 SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を呼び出します。 本関数とこれらの API を併用しないようご注意ください。 (本関数の呼び出しにより、上記 API にセットした内容が上書きされます。) また、登録されたメモリアロケーター関数はマルスレッドモード時に複数のスレッドからコール されることがあります。従って、メモリアロケート処理がスレッドセーフでない場合は独自に メモリアロケート処理を排他制御する必要があります。

    SetVirtualSpeakerAngleArray(uint, in float)

    LE Pro

    バーチャルスピーカー角度の設定

    Declaration
    • C#
    • C
    public static void SetVirtualSpeakerAngleArray(uint speakerSystem, in float angleArray)
    void CRIAPI criAtomEx_SetVirtualSpeakerAngleArray(CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
    Parameters
    Type Name Description
    uint speakerSystem

    バーチャルスピーカーの並び順

    float angleArray

    バーチャルスピーカーの角度配列

    Remarks

    説明: バーチャルスピーカーにおけるパン3Dや3Dポジショニングの計算時に使用する、 出力スピーカーの角度(配置)を設定します。 本関数の操作は SetSpeakerAngleArray(uint, in float) 関数と同様なため、基本的な説明はそちらを参照して下さい。

    注意: 本関数での設定は ControlVirtualSpeakerSetting(NativeBool) 関数にてバーチャルスピーカー設定を有効にしない限り、 設定したバーチャルスピーカー角度はパン3Dや3Dポジショニングの計算に反映されません。

    See Also
    SetSpeakerAngleArray(uint, in float)
    ControlVirtualSpeakerSetting(NativeBool)

    SetVoiceEventCallback(delegate* unmanaged[Cdecl]<IntPtr, VoiceEvent, VoiceInfoDetail*, VoiceInfoDetail*, VoiceInfoDetail*, void>, IntPtr)

    LE Pro

    ボイスイベントコールバックの登録

    Declaration
    • C#
    • C
    public static void SetVoiceEventCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomEx.VoiceEvent, CriAtomEx.VoiceInfoDetail*, CriAtomEx.VoiceInfoDetail*, CriAtomEx.VoiceInfoDetail*, void> func, IntPtr obj)
    void CRIAPI criAtomEx_SetVoiceEventCallback(CriAtomExVoiceEventCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, VoiceEvent, VoiceInfoDetail*, VoiceInfoDetail*, VoiceInfoDetail*, void> func

    ボイスイベントコールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: ボイスイベントコールバックを登録します。 本関数を使用してボイスイベントコールバックを登録することで、 ボイスイベント(ボイスの取得/解放/奪い取り)発生時の詳細情報 (再生/停止される音声データの詳細情報等)が取得可能です。

    備考: 第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。 コールバック関数のその他の引数については、 別途 CriAtomEx.VoiceEventCbFunc の説明をご参照ください。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    注意: 本関数で登録したコールバックには、ボイス単位のリミット制御 (ボイスプライオリティに基づいた波形単位のプライオリティ制御) に関する情報のみが返されます。 (カテゴリキュープライオリティによる制御に関する情報は、現状取得できません。) コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

    See Also
    CriAtomEx.VoiceEventCbFunc

    StartSoundANDROID()

    LE Pro

    サウンド処理の再開

    Declaration
    • C#
    • C
    public static void StartSoundANDROID()
    void CRIAPI criAtomEx_StartSound_ANDROID(void)
    Remarks

    説明: 本関数内ではAtomサーバスレッドのロック状態が解除されます。 また、ASRの停止を解除します。 本関数の動作保証のため、呼び出しの前には必ずcriAtom_StopSound_ANDROID関数が 呼ばれることを確認してください。

    See Also
    StartSoundANDROID()

    StartSoundIOS()

    LE Pro

    サウンド処理の再開

    Declaration
    • C#
    • C
    public static void StartSoundIOS()
    void CRIAPI criAtomEx_StartSound_IOS(void)
    Remarks

    説明: AudioSessionのInterruption Callbak関数から呼び出すための関数です。 サウンド処理を再開します。 本関数を呼び出す前に、AudioSessionのパメラータ設定とアクティベイトを行ってください。

    注意: InitializeIOS(in ConfigIOS) 関数実行前に本関数を実行することはできません。

    See Also
    StopSoundIOS()

    StopSoundANDROID()

    LE Pro

    サウンド処理の停止

    Declaration
    • C#
    • C
    public static void StopSoundANDROID()
    void CRIAPI criAtomEx_StopSound_ANDROID(void)
    Remarks

    説明: 本関数内ではAtomサーバスレッドをロック状態にします。 また、ASRの処理を停止します。 本関数の動作保証のため、呼び出しの後には必ずcriAtom_StartSound_ANDROID関数が 呼ばれることを確認してください。

    See Also
    StopSoundANDROID()

    StopSoundIOS()

    LE Pro

    サウンド処理の停止

    Declaration
    • C#
    • C
    public static void StopSoundIOS()
    void CRIAPI criAtomEx_StopSound_IOS(void)
    Remarks

    説明: AudioSessionのInterruption Callbak関数から呼び出すための関数です。 サウンド処理を停止します。

    注意: InitializeIOS(in ConfigIOS) 関数実行前に本関数を実行することはできません。

    See Also
    StartSoundIOS()

    Unlock()

    LE Pro

    サーバー処理の割り込み防止を解除

    Declaration
    • C#
    • C
    public static void Unlock()
    void CRIAPI criAtomEx_Unlock(void)
    Remarks

    説明: Lock() 関数による、サーバー処理の割り込み防止を解除します。

    See Also
    Lock()

    UnregisterAcf()

    LE Pro

    ACFの登録解除

    Declaration
    • C#
    • C
    public static void UnregisterAcf()
    void CRIAPI criAtomEx_UnregisterAcf(void)
    Remarks

    説明: ACF情報の登録を解除します。

    注意: 本関数は、関数実行時に再生中の音声をすべて停止します。 また、プレーヤーに設定したパラメーターを全てリセットします。 (ACFファイルが登録されてない際に、音声再生中に本関数を実行した場合は音声は停止されません) RegisterAcfFile(CriFsBinder, ArgString) 関数実行前に本関数を実行することはできません。

    See Also
    RegisterAcfData(ReadOnlySpan<byte>)
    RegisterAcfFile(CriFsBinder, ArgString)
    RegisterAcfFileById(CriFsBinder, ushort)
    In this article
    Back to top Generated by DocFX