CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriAtomExAsr.BusFilterCbFunc

    波形フィルターコールバック関数

    Inheritance
    object
    NativeCallbackBase<CriAtomExAsr.BusFilterCbFunc.Arg>
    CriAtomExAsr.BusFilterCbFunc
    Implements
    ICallback<CriAtomExAsr.BusFilterCbFunc.Arg>
    Inherited Members
    NativeCallbackBase<CriAtomExAsr.BusFilterCbFunc.Arg>.Event
    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 CriAtomExAsr.BusFilterCbFunc : NativeCallbackBase<CriAtomExAsr.BusFilterCbFunc.Arg>, ICallback<CriAtomExAsr.BusFilterCbFunc.Arg>
    Remarks

    説明:

    説明: バスに登録することができる PCM データを受け取るコールバック関数です。 コールバック関数の登録には criAtomExAsr_SetBusFilterCallback 関数を使用します。 コールバック関数を登録すると、サウンドレンダラが音声処理を行う度に、 コールバック関数が実行されるようになります。 フィルターコールバック関数には、 PCM データのフォーマットやチャンネル数、 参照可能なサンプル数、 PCM データを格納した領域のアドレスが返されます。 コールバック内では PCM データの値を直接参照可能になるので、 再生中の音声の振幅をチェックするといった用途に利用可能です。 また、コールバック関数内で PCM データを加工すると、再生音に反映されるため、 PCM データに対してユーザ独自のエフェクトをかけることも可能です。 (ただし、タイムストレッチ処理のようなデータ量が増減する加工を行うことはできません。)

    備考: PCM データはチャンネル単位で分離されています。 (インターリーブされていません。) サンプル数は32の倍数で、下限は32、上限は256となります。 また、サンプル数はプラットフォームデバイスの出力の進捗に応じて変化します。 第 6 引数( data 配列)には、各チャンネルの PCM データ配列の先頭アドレスが格納されています。 (二次元配列の先頭アドレスではなく、チャンネルごとの PCM データ配列の先頭アドレスを格納した 一次元のポインタ配列です。) 格納されてくる PCM データはバスに設定されているエフェクトの処理後の音声です。 プラットフォームによって、 PCM データのフォーマットは異なります。 実行環境のデータフォーマットについては、第 3 引数( format )で判別可能です。 PCM データのフォーマットが 16 bit 整数型の場合、 format は Sint16 となり、 PCM データのフォーマットが 32 bit 浮動小数点数型の場合、 format は Float32 となります。 それぞれのケースで PCM データの値域は異なりますのでご注意ください。

    • Sint16 時は -32768 ~ +32767
    • Float32 時は -1.0f ~ +1.0f

    注意: 本コールバック関数内で、AtomライブラリのAPIを実行しないでください。 コールバック関数はAtomライブラリ内のサーバー処理から実行されます。 そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。 コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生する可能性があります。

    (多重音声のミキシングや前段のエフェクトによっては上記範囲を超えた値が出る可能性があります。)

    Implements

    ICallback<TArgs>
    In this article
    Back to top Generated by DocFX