CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriAtomPlayer

    Atomプレーヤーハンドル

    Inheritance
    object
    CriAtomPlayer
    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 CriAtomPlayer : IDisposable
    Remarks

    説明: CriAtomPlayer は、音声再生用に作られたプレーヤーを操作するためのオブジェクトです。 CreateAdxPlayer(in AdxPlayerConfig) 関数等で音声再生用のプレーヤーを作成すると、 関数はプレーヤー操作用に、この"Atomプレーヤーオブジェクト"を返します。 Atomプレーヤーとは、コーデックに依存しない再生制御のためのインターフェースを提供する、 抽象化されたプレーヤーオブジェクトです。 Atomプレーヤーの作成方法は再生する音声コーデックにより異なりますが、 作成されたプレーヤーの制御については、Atomプレーヤー用のAPIが共通で利用可能です。 データのセットや再生の開始、ステータスの取得等、プレーヤーに対して行う操作は、 全てAtomプレーヤーオブジェクトを介して実行されます。

    Fields

    IgnoreLoop

    Declaration
    public const int IgnoreLoop = -2
    Field Value
    Type Description
    int
    Remarks

    ループ情報を無視

    NoLoopLimitation

    ループ回数制御用

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

    説明: ループ回数制限なし

    Properties

    DataRequestCallback

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

    Declaration
    public CriAtomPlayer.DataRequestCbFunc DataRequestCallback { get; }
    Property Value
    Type Description
    CriAtomPlayer.DataRequestCbFunc
    See Also
    SetDataRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)

    FilterCallback

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

    Declaration
    public CriAtomPlayer.FilterCbFunc FilterCallback { get; }
    Property Value
    Type Description
    CriAtomPlayer.FilterCbFunc
    See Also
    SetFilterCallback(delegate* unmanaged[Cdecl]<IntPtr, PcmFormat, int, int, IntPtr*, void>, IntPtr)

    LoadRequestCallback

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

    Declaration
    public CriAtomPlayer.LoadRequestCbFunc LoadRequestCallback { get; }
    Property Value
    Type Description
    CriAtomPlayer.LoadRequestCbFunc
    See Also
    SetLoadRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, NativeString, long, long, void>, IntPtr)

    NativeHandle

    ネイティブハンドル

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

    ParameterChangeCallback

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

    Declaration
    public CriAtomPlayer.ParameterChangeCbFunc ParameterChangeCallback { get; }
    Property Value
    Type Description
    CriAtomPlayer.ParameterChangeCbFunc
    See Also
    SetParameterChangeCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, ParameterId, float, void>, IntPtr)

    StatusChangeCallback

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

    Declaration
    public CriAtomPlayer.StatusChangeCbFunc StatusChangeCallback { get; }
    Property Value
    Type Description
    CriAtomPlayer.StatusChangeCbFunc
    See Also
    SetStatusChangeCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)

    Methods

    CalculateWorkSizeForAdxPlayer(in AdxPlayerConfig)

    LE Pro

    ADXプレーヤー作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForAdxPlayer(in CriAtom.AdxPlayerConfig config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAdxPlayer(const CriAtomAdxPlayerConfig *config)
    Parameters
    Type Name Description
    CriAtom.AdxPlayerConfig config

    ADXプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

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

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

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

    See Also
    CriAtom.AdxPlayerConfig
    CreateAdxPlayer(in AdxPlayerConfig)

    CalculateWorkSizeForAiffPlayer(in AiffPlayerConfig)

    LE Pro

    AIFFプレーヤー作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForAiffPlayer(in CriAtom.AiffPlayerConfig config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAiffPlayer(const CriAtomAiffPlayerConfig *config)
    Parameters
    Type Name Description
    CriAtom.AiffPlayerConfig config

    AIFFプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

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

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

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

    See Also
    CriAtom.AiffPlayerConfig
    CreateAiffPlayer(in AiffPlayerConfig)

    CalculateWorkSizeForHcaMxPlayer(in PlayerConfig)

    LE Pro

    HCA-MXプレーヤー作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForHcaMxPlayer(in CriAtomHcaMx.PlayerConfig config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaMxPlayer(const CriAtomHcaMxPlayerConfig *config)
    Parameters
    Type Name Description
    CriAtomHcaMx.PlayerConfig config

    HCA-MXプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

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

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

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

    See Also
    CriAtomHcaMx.PlayerConfig
    CreateHcaMxPlayer(in PlayerConfig)

    CalculateWorkSizeForHcaPlayer(in HcaPlayerConfig)

    LE Pro

    HCAプレーヤー作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForHcaPlayer(in CriAtom.HcaPlayerConfig config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaPlayer(const CriAtomHcaPlayerConfig *config)
    Parameters
    Type Name Description
    CriAtom.HcaPlayerConfig config

    HCAプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

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

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

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

    See Also
    CriAtom.HcaPlayerConfig
    CreateHcaPlayer(in HcaPlayerConfig)

    CalculateWorkSizeForMp3PlayerIOS(in Mp3PlayerConfigIOS)

    LE Pro

    MP3プレーヤ作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForMp3PlayerIOS(in CriAtom.Mp3PlayerConfigIOS config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForMp3Player_IOS(const CriAtomMp3PlayerConfig_IOS *config)
    Parameters
    Type Name Description
    CriAtom.Mp3PlayerConfigIOS config

    MP3プレーヤ作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: MP3再生用プレーヤを作成するために必要な、ワーク領域のサイズを取得します。

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

    See Also
    CriAtom.Mp3PlayerConfigIOS
    CreateMp3PlayerIOS(in Mp3PlayerConfigIOS)

    CalculateWorkSizeForRawPcmPlayer(in RawPcmPlayerConfig)

    LE Pro

    RawPCMプレーヤー作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForRawPcmPlayer(in CriAtom.RawPcmPlayerConfig config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForRawPcmPlayer(const CriAtomRawPcmPlayerConfig *config)
    Parameters
    Type Name Description
    CriAtom.RawPcmPlayerConfig config

    RawPCMプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

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

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

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

    See Also
    CriAtom.RawPcmPlayerConfig
    CreateRawPcmPlayer(in RawPcmPlayerConfig)

    CalculateWorkSizeForStandardPlayer(in StandardPlayerConfig)

    LE Pro

    標準プレーヤー作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForStandardPlayer(in CriAtom.StandardPlayerConfig config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForStandardPlayer(const CriAtomStandardPlayerConfig *config)
    Parameters
    Type Name Description
    CriAtom.StandardPlayerConfig config

    標準プレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: 標準プレーヤー(ADXとHCAを再生可能なプレーヤー)を作成するために必要な、 ワーク領域のサイズを取得します。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

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

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

    See Also
    CriAtom.StandardPlayerConfig
    CreateStandardPlayer(in StandardPlayerConfig)

    CalculateWorkSizeForWavePlayer(in WavePlayerConfig)

    LE Pro

    WAVEプレーヤー作成用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForWavePlayer(in CriAtom.WavePlayerConfig config)
    CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForWavePlayer(const CriAtomWavePlayerConfig *config)
    Parameters
    Type Name Description
    CriAtom.WavePlayerConfig config

    WAVEプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

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

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

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

    See Also
    CriAtom.WavePlayerConfig
    CreateWavePlayer(in WavePlayerConfig)

    CreateAdxPlayer(in AdxPlayerConfig)

    LE Pro

    ADXプレーヤーの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateAdxPlayer(in CriAtom.AdxPlayerConfig config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAdxPlayer(const CriAtomAdxPlayerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtom.AdxPlayerConfig config

    ADXプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤーオブジェクト

    Remarks

    説明: ADXが再生可能なプレーヤーを作成します。 本関数で作成されたAtomプレーヤーには、ADXデータのデコード機能が付加されています。 作成されたプレーヤーで再生できる音声のフォーマットは、第一引数(config)に指定した パラメーターによって決まります。 例えば、configのmax_sampling_rateに24000を設定した場合、作成されたプレーヤーでは 24kHzを超えるサンプリングレートの音声データは再生できなくなります。 configにnullを指定した場合、デフォルト設定( SetDefaultConfigForAdxPlayer(out AdxPlayerConfig) 適用時と同じパラメーター)でプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 User Allocator方式を用いる場合、ユーザがワーク領域を用意する必要はありません。 workにnull、work_sizeに0を指定するだけで、必要なメモリを登録済みのメモリ確保関数から確保します。 ADXプレーヤー作成時に確保されたメモリは、ADXプレーヤー破棄時( Dispose() 関数実行時)に解放されます。 Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。 ワーク領域のサイズは CalculateWorkSizeForAdxPlayer(in AdxPlayerConfig) 関数で取得可能です。 ADXプレーヤー作成前に CalculateWorkSizeForAdxPlayer(in AdxPlayerConfig) 関数で取得した サイズ分のメモリを予め確保しておき、本関数に設定してください。 尚、Fixed Memory方式を用いた場合、ワーク領域はADXプレーヤーの破棄 ( Dispose() 関数)を行うまでの間、ライブラリ内で利用され続けます。 ADXプレーヤーの破棄を行う前に、ワーク領域のメモリを解放しないでください。

    例: 【User Allocator方式によるADXプレーヤーの作成】 User Allocator方式を用いる場合、ADXプレーヤーの作成/破棄の手順は以下のようになります。

    1. ADXプレーヤー作成前に、 SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr) 関数と SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を用いてメモリ確保/解放関数を登録する。
    2. ADXプレーヤー作成用コンフィグ構造体にパラメーターをセットする。
    3. CreateAdxPlayer(in AdxPlayerConfig) 関数でADXプレーヤーを作成する。 (workにはnull、work_sizeには0を指定する。)
    4. オブジェクトが不要になったら Dispose() 関数でADXプレーヤーを破棄する。

    具体的なコードは以下のとおりです。 ※ライブラリ初期化時にメモリ確保/解放関数を登録済みの場合、ADXプレーヤー作成時 に再度関数を登録する必要はありません。 【Fixed Memory方式によるADXプレーヤーの作成】 Fixed Memory方式を用いる場合、ADXプレーヤーの作成/破棄の手順は以下のようになります。

    CreateAiffPlayer(in AiffPlayerConfig)

    LE Pro

    AIFFプレーヤーの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateAiffPlayer(in CriAtom.AiffPlayerConfig config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAiffPlayer(const CriAtomAiffPlayerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtom.AiffPlayerConfig config

    AIFFプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤーオブジェクト

    Remarks

    説明: AIFFが再生可能なプレーヤーを作成します。 本関数で作成されたAtomプレーヤーには、AIFFデータのデコード機能が付加されています。 作成されたプレーヤーで再生できる音声のフォーマットは、第一引数(config)に指定した パラメーターによって決まります。 例えば、configのmax_sampling_rateに24000を設定した場合、作成されたプレーヤーでは 24kHzを超えるサンプリングレートの音声データは再生できなくなります。 configにnullを指定した場合、デフォルト設定( SetDefaultConfigForAiffPlayer(out AiffPlayerConfig) 適用時と同じパラメーター)でプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 各方式の詳細については、別途 CreateAdxPlayer(in AdxPlayerConfig) 関数の説明をご参照ください。 CreateAiffPlayer(in AiffPlayerConfig) 関数を実行すると、Atomプレーヤーが作成され、 プレーヤーを制御するためのオブジェクト( CriAtomPlayer )が返されます。 データやデコーダーのセット、再生の開始、ステータスの取得等、Atomプレーヤーに対して 行う操作は、全てオブジェクトに対して行います。 作成されたAtomプレーヤーオブジェクトを使用して音声データを再生する手順は以下のとおりです。

    1. SetData(IntPtr, int) 関数を使用して、Atomプレーヤーに再生するデータをセットする。 (ファイル再生時は、 SetFile(CriFsBinder, ArgString) 関数または SetContentId(CriFsBinder, int) 関数を使用する。)
    2. Start() 関数で再生を開始する。

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

    注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数は完了復帰型の関数です。 AIFFプレーヤーの作成にかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 AIFFプレーヤーの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。 現状、AIFFファイルのチャンク解析は厳密には行っていません。 チャンクの並び順がFORMチャンク、COMMチャンク、SSNDチャンクではない場合や、 その他のチャンクを含むAIFFファイルは、解析に失敗する可能性があります。 また、現時点で対応しているフォーマットは、モノラルまたはステレオの 16bit 非圧縮データのみです。

    See Also
    CriAtom.AiffPlayerConfig
    CalculateWorkSizeForAiffPlayer(in AiffPlayerConfig)
    CriAtomPlayer
    Dispose()
    SetData(IntPtr, int)
    SetFile(CriFsBinder, ArgString)
    SetContentId(CriFsBinder, int)
    Start()
    CreateAiffPlayer(in AiffPlayerConfig)

    CreateHcaMxPlayer(in PlayerConfig)

    LE Pro

    HCA-MXプレーヤーの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateHcaMxPlayer(in CriAtomHcaMx.PlayerConfig config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaMxPlayer(const CriAtomHcaMxPlayerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomHcaMx.PlayerConfig config

    HCA-MXプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤーオブジェクト

    Remarks

    説明: HCA-MXが再生可能なプレーヤーを作成します。 本関数で作成されたAtomプレーヤーには、HCA-MXデータのデコード機能が付加されています。 作成されたプレーヤーで再生できる音声のフォーマットは、第一引数(config)に指定した パラメーターによって決まります。 例えば、configのmax_sampling_rateに24000を設定した場合、作成されたプレーヤーでは 24kHzを超えるサンプリングレートの音声データは再生できなくなります。 configにnullを指定した場合、デフォルト設定( SetDefaultConfigForHcaMxPlayer(out PlayerConfig) 適用時と同じパラメーター)でプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 各方式の詳細については、別途 CreateAdxPlayer(in AdxPlayerConfig) 関数の説明をご参照ください。 CreateHcaMxPlayer(in PlayerConfig) 関数を実行すると、Atomプレーヤーが作成され、 プレーヤーを制御するためのオブジェクト( CriAtomPlayer )が返されます。 データやデコーダーのセット、再生の開始、ステータスの取得等、Atomプレーヤーに対して 行う操作は、全てオブジェクトに対して行います。 作成されたAtomプレーヤーオブジェクトを使用して音声データを再生する手順は以下のとおりです。

    1. SetData(IntPtr, int) 関数を使用して、Atomプレーヤーに再生するデータをセットする。 (ファイル再生時は、 SetFile(CriFsBinder, ArgString) 関数または SetContentId(CriFsBinder, int) 関数を使用する。)
    2. Start() 関数で再生を開始する。

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

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

    See Also
    CriAtomHcaMx.PlayerConfig
    CalculateWorkSizeForHcaMxPlayer(in PlayerConfig)
    CriAtomPlayer
    Dispose()
    SetData(IntPtr, int)
    SetFile(CriFsBinder, ArgString)
    SetContentId(CriFsBinder, int)
    Start()
    CreateHcaMxPlayer(in PlayerConfig)

    CreateHcaPlayer(in HcaPlayerConfig)

    LE Pro

    HCAプレーヤーの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateHcaPlayer(in CriAtom.HcaPlayerConfig config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaPlayer(const CriAtomHcaPlayerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtom.HcaPlayerConfig config

    HCAプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤーオブジェクト

    Remarks

    説明: HCAが再生可能なプレーヤーを作成します。 本関数で作成されたAtomプレーヤーには、HCAデータのデコード機能が付加されています。 作成されたプレーヤーで再生できる音声のフォーマットは、第一引数(config)に指定した パラメーターによって決まります。 例えば、configのmax_sampling_rateに24000を設定した場合、作成されたプレーヤーでは 24kHzを超えるサンプリングレートの音声データは再生できなくなります。 configにnullを指定した場合、デフォルト設定( SetDefaultConfigForHcaPlayer(out HcaPlayerConfig) 適用時と同じパラメーター)でプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 各方式の詳細については、別途 CreateAdxPlayer(in AdxPlayerConfig) 関数の説明をご参照ください。 CreateHcaPlayer(in HcaPlayerConfig) 関数を実行すると、Atomプレーヤーが作成され、 プレーヤーを制御するためのオブジェクト( CriAtomPlayer )が返されます。 データやデコーダーのセット、再生の開始、ステータスの取得等、Atomプレーヤーに対して 行う操作は、全てオブジェクトに対して行います。 作成されたAtomプレーヤーオブジェクトを使用して音声データを再生する手順は以下のとおりです。

    1. SetData(IntPtr, int) 関数を使用して、Atomプレーヤーに再生するデータをセットする。 (ファイル再生時は、 SetFile(CriFsBinder, ArgString) 関数または SetContentId(CriFsBinder, int) 関数を使用する。)
    2. Start() 関数で再生を開始する。

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

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

    See Also
    CriAtom.HcaPlayerConfig
    CalculateWorkSizeForHcaPlayer(in HcaPlayerConfig)
    CriAtomPlayer
    Dispose()
    SetData(IntPtr, int)
    SetFile(CriFsBinder, ArgString)
    SetContentId(CriFsBinder, int)
    Start()
    CreateHcaPlayer(in HcaPlayerConfig)

    CreateMp3PlayerIOS(in Mp3PlayerConfigIOS)

    LE Pro

    MP3プレーヤの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateMp3PlayerIOS(in CriAtom.Mp3PlayerConfigIOS config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateMp3Player_IOS(const CriAtomMp3PlayerConfig_IOS *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtom.Mp3PlayerConfigIOS config

    MP3プレーヤ作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤオブジェクト

    Remarks

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

    See Also
    CriAtom.Mp3PlayerConfigIOS
    CalculateWorkSizeForMp3PlayerIOS(in Mp3PlayerConfigIOS)
    Dispose()

    CreateRawPcmPlayer(in RawPcmPlayerConfig)

    LE Pro

    RawPCMプレーヤーの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateRawPcmPlayer(in CriAtom.RawPcmPlayerConfig config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateRawPcmPlayer(const CriAtomRawPcmPlayerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtom.RawPcmPlayerConfig config

    RawPCMプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤーオブジェクト

    Remarks

    説明: RawPCMが再生可能なプレーヤーを作成します。 本関数で作成されたAtomプレーヤーには、RawPCMデータのデコード機能が付加されています。 作成されたプレーヤーで再生できる音声のフォーマットは、第一引数(config)に指定した パラメーターによって決まります。 例えば、configのmax_sampling_rateに24000を設定した場合、作成されたプレーヤーでは 24kHzを超えるサンプリングレートの音声データは再生できなくなります。 configにnullを指定した場合、デフォルト設定( SetDefaultConfigForRawPcmPlayer(out RawPcmPlayerConfig) 適用時と同じパラメーター)でプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 各方式の詳細については、別途 CreateAdxPlayer(in AdxPlayerConfig) 関数の説明をご参照ください。 CreateRawPcmPlayer(in RawPcmPlayerConfig) 関数を実行すると、Atomプレーヤーが作成され、 プレーヤーを制御するためのオブジェクト( CriAtomPlayer )が返されます。 データやデコーダーのセット、再生の開始、ステータスの取得等、Atomプレーヤーに対して 行う操作は、全てオブジェクトに対して行います。 作成されたAtomプレーヤーオブジェクトを使用して音声データを再生する手順は以下のとおりです。

    1. SetData(IntPtr, int) 関数を使用して、Atomプレーヤーに再生するデータをセットする。 (ファイル再生時は、 SetFile(CriFsBinder, ArgString) 関数または SetContentId(CriFsBinder, int) 関数を使用する。)
    2. Start() 関数で再生を開始する。

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

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

    See Also
    CriAtom.RawPcmPlayerConfig
    CalculateWorkSizeForRawPcmPlayer(in RawPcmPlayerConfig)
    CriAtomPlayer
    Dispose()
    SetData(IntPtr, int)
    SetFile(CriFsBinder, ArgString)
    SetContentId(CriFsBinder, int)
    Start()
    CreateRawPcmPlayer(in RawPcmPlayerConfig)

    CreateStandardPlayer(in StandardPlayerConfig)

    LE Pro

    標準プレーヤーの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateStandardPlayer(in CriAtom.StandardPlayerConfig config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateStandardPlayer(const CriAtomStandardPlayerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtom.StandardPlayerConfig config

    標準プレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤーオブジェクト

    Remarks

    説明: ADXとHCAが再生可能なプレーヤーを作成します。 本関数で作成されたAtomプレーヤーには、ADXデータとHCAデータのデコード機能が付加されています。 作成されたプレーヤーで再生できる音声のフォーマットは、第一引数(config)に指定した パラメーターによって決まります。 例えば、configのmax_sampling_rateに24000を設定した場合、作成されたプレーヤーでは 24kHzを超えるサンプリングレートの音声データは再生できなくなります。 configにnullを指定した場合、デフォルト設定( SetDefaultConfigForStandardPlayer(out StandardPlayerConfig) 適用時と同じパラメーター)でプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 User Allocator方式を用いる場合、ユーザがワーク領域を用意する必要はありません。 workにnull、work_sizeに0を指定するだけで、必要なメモリを登録済みのメモリ確保関数から確保します。 標準プレーヤー作成時に確保されたメモリは、標準プレーヤー破棄時( Dispose() 関数実行時)に解放されます。 Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。 ワーク領域のサイズは CalculateWorkSizeForStandardPlayer(in StandardPlayerConfig) 関数で取得可能です。 標準プレーヤー作成前に CalculateWorkSizeForStandardPlayer(in StandardPlayerConfig) 関数で取得した サイズ分のメモリを予め確保しておき、本関数に設定してください。 尚、Fixed Memory方式を用いた場合、ワーク領域は標準プレーヤーの破棄 ( Dispose() 関数)を行うまでの間、ライブラリ内で利用され続けます。 標準プレーヤーの破棄を行う前に、ワーク領域のメモリを解放しないでください。

    例: 【User Allocator方式による標準プレーヤーの作成】 User Allocator方式を用いる場合、標準プレーヤーの作成/破棄の手順は以下のようになります。

    1. 標準プレーヤー作成前に、 SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr) 関数と SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を用いてメモリ確保/解放関数を登録する。
    2. 標準プレーヤー作成用コンフィグ構造体にパラメーターをセットする。
    3. CreateStandardPlayer(in StandardPlayerConfig) 関数で標準プレーヤーを作成する。 (workにはnull、work_sizeには0を指定する。)
    4. オブジェクトが不要になったら Dispose() 関数で標準プレーヤーを破棄する。

    具体的なコードは以下のとおりです。 ※ライブラリ初期化時にメモリ確保/解放関数を登録済みの場合、標準プレーヤー作成時 に再度関数を登録する必要はありません。 【Fixed Memory方式による標準プレーヤーの作成】 Fixed Memory方式を用いる場合、標準プレーヤーの作成/破棄の手順は以下のようになります。

    CreateWavePlayer(in WavePlayerConfig)

    LE Pro

    WAVEプレーヤーの作成

    Declaration
    • C#
    • C
    public static CriAtomPlayer CreateWavePlayer(in CriAtom.WavePlayerConfig config)
    CriAtomPlayerHn CRIAPI criAtomPlayer_CreateWavePlayer(const CriAtomWavePlayerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtom.WavePlayerConfig config

    WAVEプレーヤー作成用コンフィグ構造体

    Returns
    Type Description
    CriAtomPlayer

    CriAtomPlayer Atomプレーヤーオブジェクト

    Remarks

    説明: WAVEが再生可能なプレーヤーを作成します。 本関数で作成されたAtomプレーヤーには、WAVEデータのデコード機能が付加されています。 作成されたプレーヤーで再生できる音声のフォーマットは、第一引数(config)に指定した パラメーターによって決まります。 例えば、configのmax_sampling_rateに24000を設定した場合、作成されたプレーヤーでは 24kHzを超えるサンプリングレートの音声データは再生できなくなります。 configにnullを指定した場合、デフォルト設定( SetDefaultConfigForWavePlayer(out WavePlayerConfig) 適用時と同じパラメーター)でプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 各方式の詳細については、別途 CreateAdxPlayer(in AdxPlayerConfig) 関数の説明をご参照ください。 CreateWavePlayer(in WavePlayerConfig) 関数を実行すると、Atomプレーヤーが作成され、 プレーヤーを制御するためのオブジェクト( CriAtomPlayer )が返されます。 データやデコーダーのセット、再生の開始、ステータスの取得等、Atomプレーヤーに対して 行う操作は、全てオブジェクトに対して行います。 作成されたAtomプレーヤーオブジェクトを使用して音声データを再生する手順は以下のとおりです。

    1. SetData(IntPtr, int) 関数を使用して、Atomプレーヤーに再生するデータをセットする。 (ファイル再生時は、 SetFile(CriFsBinder, ArgString) 関数または SetContentId(CriFsBinder, int) 関数を使用する。)
    2. Start() 関数で再生を開始する。

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

    注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数は完了復帰型の関数です。 WAVEプレーヤーの作成にかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 WAVEプレーヤーの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。 現状、Waveファイルのチャンク解析は厳密には行っていません。 チャンクの並び順がFORMチャンク、COMMチャンク、SSNDチャンクではない場合や、 その他のチャンクを含むWaveファイルは、解析に失敗する可能性があります。 また、現時点で対応しているフォーマットは、モノラルまたはステレオの 16bit 非圧縮データのみです。

    See Also
    CriAtom.WavePlayerConfig
    CalculateWorkSizeForWavePlayer(in WavePlayerConfig)
    CriAtomPlayer
    Dispose()
    SetData(IntPtr, int)
    SetFile(CriFsBinder, ArgString)
    SetContentId(CriFsBinder, int)
    Start()
    CreateWavePlayer(in WavePlayerConfig)

    DeferCallback()

    LE Pro

    コールバック関数の再実行要求

    Declaration
    • C#
    • C
    public void DeferCallback()
    void CRIAPI criAtomPlayer_DeferCallback(CriAtomPlayerHn player)
    Remarks

    説明: データ要求コールバック関数の処理を先延ばしします。 データ要求コールバック関数が実行された時点で、次に再生する音声データが まだ決まっていない場合、本関数を実行することで、コールバック関数をリトライ することが可能になります。 (数ミリ秒後に再度データ要求コールバック関数が呼ばれます。)

    備考: データ要求コールバック関数内で何もしなかった場合、Atomプレーヤーのステータスは Playend に遷移します。 しかし、データ要求コールバック関数内で本関数を実行した場合、Atomプレーヤーの ステータスは Playing を維持し続けます。

    注意: 本関数を実行した場合、Atomプレーヤーのステータスは Playing を維持し続けますが、音声出力は途切れる可能性があります。 (データの読み込みが間に合わない場合、前回再生した音声と、次にセットする音声 との間に、無音が入る可能性があります。) 本関数はデータ要求コールバック関数内でのみ使用可能です。 (データ要求コールバック関数外で実行した場合、エラーが発生します。)

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

    Dispose()

    LE Pro

    Atomプレーヤーの破棄

    Declaration
    • C#
    • C
    public void Dispose()
    void CRIAPI criAtomPlayer_Destroy(CriAtomPlayerHn player)
    Remarks

    説明: Atomプレーヤーを破棄します。 本関数を実行した時点で、Atomプレーヤー作成時に確保されたリソースが全て解放されます。 また、引数に指定したAtomプレーヤーオブジェクトも無効になります。

    注意: 本関数は完了復帰型の関数です。 音声再生中のAtomプレーヤーを破棄しようとした場合、本関数内で再生停止を 待ってからリソースの解放が行われます。 (ファイルから再生している場合は、さらに読み込み完了待ちが行われます。) そのため、本関数内で処理が長時間(数フレーム)ブロックされる可能性があります。 Atomプレーヤーの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。

    See Also
    CreateAdxPlayer(in AdxPlayerConfig)
    CriAtomPlayer

    GetDecodedDataSize()

    LE Pro

    デコードデータサイズの取得

    Declaration
    • C#
    • C
    public long GetDecodedDataSize()
    CriSint64 CRIAPI criAtomPlayer_GetDecodedDataSize(CriAtomPlayerHn player)
    Returns
    Type Description
    long

    CriSint64 デコードデータ量(単位はバイト)

    Remarks

    説明: Atomプレーヤー内でデコードした音声データのバイト数を返します。

    備考 本関数が返すデコード量は、再生開始時点からの累積値です。 そのため、ループ再生時や、シームレス連結再生時を行った場合でも、 再生位置に応じてデコード量が巻き戻ることはありません。 また、 Pause(NativeBool) 関数でポーズをかけた場合、 デコード量のカウントアップも停止します。 (ポーズを解除すればカウントアップが再開されます。)

    注意: HCA-MXを使用する場合や、圧縮された音声データを直接ハードウェアに送信するプラットフォーム (デコード処理がプラットフォームSDKに隠蔽されているコーデック) については、本関数でデコード量を取得できません。

    GetFormatInfo(out FormatInfo)

    LE Pro

    再生音声のフォーマット情報の取得

    Declaration
    • C#
    • C
    public bool GetFormatInfo(out CriAtom.FormatInfo info)
    CriBool CRIAPI criAtomPlayer_GetFormatInfo(CriAtomPlayerHn player, CriAtomFormatInfo *info)
    Parameters
    Type Name Description
    CriAtom.FormatInfo info

    フォーマット情報

    Returns
    Type Description
    bool

    CriBool 情報が取得できたかどうか( true = 取得できた、 false = 取得できなかった)

    Remarks

    説明: Start() 関数で再生された音声のフォーマット情報を取得します。 フォーマット情報が取得できた場合、本関数は true を返します。 フォーマット情報が取得できなかった場合、本関数は false を返します。

    注意: 本関数は、音声再生中のみフォーマット情報を取得可能です。 再生開始前や再生準備中に本関数を実行すると、フォーマット情報の取得に失敗します。

    See Also
    Start()
    GetStatus()

    GetInputBufferRemainSize()

    LE Pro

    入力バッファー内データ残量の取得

    Declaration
    • C#
    • C
    public int GetInputBufferRemainSize()
    CriSint32 CRIAPI criAtomPlayer_GetInputBufferRemainSize(CriAtomPlayerHn player)
    Returns
    Type Description
    int

    CriSint32 入力バッファー内のデータ残量(Byte単位)

    Remarks

    説明: Atomプレーヤーの入力バッファー内のデータ残量を取得します。

    備考: 本関数は情報取得用途にのみに利用可能なデバッグ関数です。 音途切れの不具合が発生した際、本関数を使用して再生中のプレーヤーの 入力バッファーにデータが残っているかどうかをチェック可能です。 プレーヤーのステータスが Playing にもかかわらず、 データ残量が長時間 0 の場合、何らかの異常によりデータの供給が ブロックされている可能性があります。

    GetNumChannels()

    LE Pro

    チャンネル数の取得

    Declaration
    • C#
    • C
    public int GetNumChannels()
    CriSint32 CRIAPI criAtomPlayer_GetNumChannels(CriAtomPlayerHn player)
    Returns
    Type Description
    int

    CriSint32 チャンネル数

    Remarks

    説明: Atomプレーヤーで再生中の音声について、チャンネル数を取得します。 チャンネル数が取得できなかった場合、本関数は -1 を返します。

    注意: 再生時刻は、プレーヤーのステータスが Playing になるまで取得できません。 ( Prep 時に本関数を実行した場合、エラー値が返されます。)

    GetNumDecodedSamples()

    LE Pro

    デコードサンプル数の取得

    Declaration
    • C#
    • C
    public long GetNumDecodedSamples()
    CriSint64 CRIAPI criAtomPlayer_GetNumDecodedSamples(CriAtomPlayerHn player)
    Returns
    Type Description
    long

    CriSint64 デコードサンプル数

    Remarks

    説明: Atomプレーヤー内でデコードした音声データのバイト数を返します。

    備考 本関数が返すデコードサンプル数は、再生開始時点からの累積値です。 そのため、ループ再生時や、シームレス連結再生時を行った場合でも、 再生位置に応じてデコードサンプル数が巻き戻ることはありません。 また、 Pause(NativeBool) 関数でポーズをかけた場合、 デコードサンプル数のカウントアップも停止します。 (ポーズを解除すればカウントアップが再開されます。)

    注意: HCA-MXを使用する場合や、圧縮された音声データを直接ハードウェアに送信するプラットフォーム (デコード処理がプラットフォームSDKに隠蔽されているコーデック) については、本関数でデコードサンプル数を取得できません。

    GetNumPlayedSamples(out long, out int)

    LE Pro

    再生済みサンプル数の取得

    Declaration
    • C#
    • C
    public bool GetNumPlayedSamples(out long numPlayed, out int samplingRate)
    CriBool CRIAPI criAtomPlayer_GetNumPlayedSamples(CriAtomPlayerHn player, CriSint64 *num_played, CriSint32 *sampling_rate)
    Parameters
    Type Name Description
    long numPlayed

    再生済みサンプル数(サンプル数単位)

    int samplingRate

    サンプリングレート(Hz単位)

    Returns
    Type Description
    bool

    CriBool サンプル数が取得できたかどうか( true = 取得できた、 false = 取得できなかった)

    Remarks

    説明: Atomプレーヤーで再生中の音声について、再生済みのサンプル数、 およびサンプリングレートを取得します。 再生時刻はサンプル数単位、サンプリングレートはHz単位です。 サンプル数が正しく取得できた場合、戻り値は true になります。 再生済みサンプル数が取得できなかった場合、戻り値は false になります。 (同時に、 sampling_rate は -1 になります。)

    備考 取得する必要のない引数については、 null を指定可能です。 例えば、サンプリングレートのみを取得したい場合、第2引数( num_played ) には null を指定可能です。 本関数が返す再生済みサンプル数は、出力済み音声データの累積値です。 そのため、ループ再生時や、シームレス連結再生時を行った場合でも、 再生位置に応じてサンプル数が巻き戻ることはありません。 また、 Pause(NativeBool) 関数でポーズをかけた場合、 再生済みサンプル数のカウントアップも停止します。 (ポーズを解除すればカウントアップが再開されます。)

    注意: 再生済みサンプル数は、プレーヤーのステータスが Playing になるまで取得できません。 ( Prep 時に本関数を実行した場合、エラー値が返されます。) 再生サンプル数の精度は、プラットフォームのサウンドライブラリに依存します。

    GetNumRenderedSamples(out long, out int)

    LE Pro

    サウンドバッファへの書き込みサンプル数の取得

    Declaration
    • C#
    • C
    public bool GetNumRenderedSamples(out long numRendered, out int samplingRate)
    CriBool CRIAPI criAtomPlayer_GetNumRenderedSamples(CriAtomPlayerHn player, CriSint64 *num_rendered, CriSint32 *sampling_rate)
    Parameters
    Type Name Description
    long numRendered

    書き込み済みサンプル数(サンプル数単位)

    int samplingRate

    サンプリングレート(Hz単位)

    Returns
    Type Description
    bool

    CriBool サンプル数が取得できたかどうか( true = 取得できた、 false = 取得できなかった)

    Remarks

    説明: Atomプレーヤで再生中の音声について、サウンドバッファへの書き込み済みのサンプル数、 およびサンプリングレートを取得します。 GetNumPlayedSamples(out long, out int) 関数と異なり、 サウンドバッファに書き込まれた未出力の音声データのサンプル数を含む値を返します。 サンプル数が正しく取得できた場合、戻り値は true になります。 書き込み済みサンプル数が取得できなかった場合、戻り値は false になります。 (同時に、 sampling_rate は -1 になります。)

    備考 取得する必要のない引数については、 null を指定可能です。 例えば、サンプリングレートのみを取得したい場合、第2引数( num_rendered ) には null を指定可能です。 本関数が返すサンプル数は、書き込み済みサンプル数の累積値です。 そのため、ループ再生やシームレス連結再生を行った場合でも、 再生位置に応じてサンプル数が巻き戻ることはありません。 また、 Pause(NativeBool) 関数でポーズをかけた場合、 書き込み済みサンプル数のカウントアップも停止します。 (ポーズを解除すればカウントアップが再開されます。)

    注意: 書き込み済みサンプル数は、プレーヤのステータスが Playing になるまで取得できません。 ( Prep 時に本関数を実行した場合、エラー値が返されます。) 書き込み済みサンプル数の精度は、プラットフォームのサウンドライブラリに依存します。

    See Also
    GetNumPlayedSamples(out long, out int)

    GetOutputBufferRemainSamples()

    LE Pro

    出力バッファー内データ残量の取得

    Declaration
    • C#
    • C
    public int GetOutputBufferRemainSamples()
    CriSint32 CRIAPI criAtomPlayer_GetOutputBufferRemainSamples(CriAtomPlayerHn player)
    Returns
    Type Description
    int

    CriSint32 出力バッファー内のデータ残量(サンプル数単位)

    Remarks

    説明: Atomプレーヤーの出力バッファー内のデータ残量を取得します。

    備考: 本関数は情報取得用途にのみに利用可能なデバッグ関数です。 音途切れの不具合が発生した際、本関数を使用して再生中のプレーヤーの 出力バッファーにデータが残っているかどうかをチェック可能です。 プレーヤーのステータスが Playing にもかかわらず、 データ残量が長時間 0 の場合、何らかの異常によりデコード処理が 行われていない可能性があります。

    注意: 本関数は、音声データをAtomライブラリ内でデコードするケースについてのみ有効です。 圧縮された音声データを直接ハードウェアに送信するプラットフォーム (デコード処理がプラットフォームSDKに隠蔽されているコーデック) については、本関数でデータ残量を取得できません。

    GetStatus()

    LE Pro

    ステータスの取得

    Declaration
    • C#
    • C
    public CriAtomPlayer.Status GetStatus()
    CriAtomPlayerStatus CRIAPI criAtomPlayer_GetStatus(CriAtomPlayerHn player)
    Returns
    Type Description
    CriAtomPlayer.Status

    CriAtomPlayer.Status ステータス

    Remarks

    説明: Atomプレーヤーのステータスを取得します。 ステータスはAtomプレーヤーの再生状態を示す値で、以下の5通りの値が存在します。

    1. Stop
    2. Prep
    3. Playing
    4. Playend
    5. Error
    Stop Prep Prep Playing Playend Error

    Atomプレーヤーを作成した時点では、Atomプレーヤーのステータスは停止状態 ( )です。 再生する音声データをセット後、Start() 関数を実行することで、 Atomプレーヤーのステータスが準備状態( )に変更されます。 ( は、データ供給やデコードの開始を待っている状態です。) 再生の開始に充分なデータが供給された時点で、Atomプレーヤーはステータスを 再生状態( )に変更し、音声の出力を開始します。 セットされたデータを全て再生し終えると、Atomプレーヤーはステータスを再生終了状態 ( )に変更します。 尚、再生中にエラーが発生した場合には、Atomプレーヤーはステータスをエラー状態 ( )に変更します。 Atomプレーヤーのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。 例えば、音声の再生完了を待って処理を進めたい場合には、以下のようなコードになります。

    See Also
    Start()

    GetTime()

    LE Pro

    再生時刻の取得

    Declaration
    • C#
    • C
    public long GetTime()
    CriSint64 CRIAPI criAtomPlayer_GetTime(CriAtomPlayerHn player)
    Returns
    Type Description
    long

    CriSint64 再生時刻(ミリ秒単位)

    Remarks

    説明: Atomプレーヤーで再生中の音声について、現在の再生時刻を取得します。 再生時刻の単位はミリ秒単位です。 引数に誤りがある場合( player が null の場合)、本関数は -1 を返します。 停止中や再生準備中等、再生時刻が取得できないタイミングで本関数を実行した場合、 本関数は 0 を返します。

    備考 再生時刻は再生済みサンプル数を元に計算されています。 そのため、 SetFrequencyRatio(float) 関数を用いてピッチを上げた場合、 再生時刻は実時間よりも早く進みます。 (ピッチを下げた場合、再生時刻は実時刻よりも遅く進みます。) 本関数が返す再生時刻は、出力済み音声データの累積値です。 そのため、ループ再生時や、シームレス連結再生時を行った場合でも、 再生位置に応じて時刻が巻き戻ることはありません。 また、 Pause(NativeBool) 関数でポーズをかけた場合、 再生時刻のカウントアップも停止します。 (ポーズを解除すればカウントアップが再開されます。)

    注意: 再生時刻は、プレーヤーのステータスが Playing になるまで取得できません。 ( Prep 時に本関数を実行した場合、 0 が返されます。) 再生時刻の精度は、プラットフォームのサウンドライブラリに依存します。

    See Also
    GetStatus()
    SetFrequencyRatio(float)

    GetVolume()

    LE Pro

    ボリュームの指定

    Declaration
    • C#
    • C
    public float GetVolume()
    CriFloat32 CRIAPI criAtomPlayer_GetVolume(CriAtomPlayerHn player)
    Returns
    Type Description
    float

    CriFloat32 ボリューム値

    Remarks

    説明: 出力音声のボリュームを取得します。 ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。

    See Also
    SetVolume(float)

    IsPaused()

    LE Pro

    ポーズされているかどうかのチェック

    Declaration
    • C#
    • C
    public bool IsPaused()
    CriBool CRIAPI criAtomPlayer_IsPaused(CriAtomPlayerHn player)
    Returns
    Type Description
    bool

    CriBool ポーズ状態(true = ポーズされている、false = ポーズされていない)

    Remarks

    説明: Atomプレーヤーがポーズされているかどうかをチェックします。 ポーズされているかどうかは、戻り値で判定します。 戻り値がtrueだった場合、Atomプレーヤーはポーズされています。 戻り値がfalseだった場合、Atomプレーヤーはポーズされていません。

    備考: 本関数は Pause(NativeBool) 関数で指定された動作フラグをそのまま返します。 ( Pause(NativeBool) 関数の第2引数にセットした値がflagとして返されます。) そのため、本関数の結果と実際に音声出力が停止しているかどうかは、必ずしも一致するとは 限りません。 ( Pause(NativeBool) 関数の実行タイミングと、実際に音声出力が停止するタイミングに タイムラグが存在するため。)

    See Also
    Pause(NativeBool)

    LimitLoopCount(int)

    LE Pro

    ループ回数の制限

    Declaration
    • C#
    • C
    public void LimitLoopCount(int count)
    void CRIAPI criAtomPlayer_LimitLoopCount(CriAtomPlayerHn player, CriSint32 count)
    Parameters
    Type Name Description
    int count

    ループ制限回数

    Remarks

    説明: 波形データのループ再生回数を制限します。 例えば、countに1を指定した場合、ループ波形データは1回のみループして再生を終了します。 (ループエンドポイントに到達後、1回だけループスタート位置に戻ります。)

    備考: デフォルト状態では、ループポイント付きの音声データは無限にループ再生されます。 ループ回数を一旦制限した後、ループ回数を再度無限回に戻したい場合には、 count に NoLoopLimitation を指定してください。 count に IgnoreLoop を指定することで、 ループポイント付きの音声データをループさせずに再生することも可能です。

    注意: ループ制限回数の指定は、音声再生開始前に行う必要があります。 再生中に本関数を実行しても、ループ回数は変更されません。 再生中の任意のタイミングでループ再生を停止したい場合、 ループ再生ではなく、シームレス連結再生で制御を行ってください。 本関数で指定したループ制限回数は、 あらかじめループポイントが設定された波形データを再生する場合にのみ適用されます。 波形データ自体にループポイントが設定されていない場合、 本関数を実行しても何の効果もありません。 本関数を使用してループ回数を指定した場合でも、 ループ終了時にループエンドポイント以降の波形データが再生されることはありません。 (指定回数分ループした後、ループエンドポイントで再生が停止します。) 例外的に、以下の条件を満たす場合に限り、(ループはされませんが) ワンショットでループポイント以降のデータを含めて再生することが可能です。

    • criatomencd.exe で -nodelterm を指定してデータをエンコードする。
    • 本関数に IgnoreLoop を指定してから再生を行う。

    本関数でループ回数を制限できるのは、ADXコーデックとHCAコーデックのみです。 プラットフォーム依存の音声コーデックに対して本関数を実行しないでください。 (再生が終了しない、ノイズが発生する等の問題が発生します。)

    Pause(NativeBool)

    LE Pro

    再生のポーズ/ポーズ解除

    Declaration
    • C#
    • C
    public void Pause(NativeBool flag)
    void CRIAPI criAtomPlayer_Pause(CriAtomPlayerHn player, CriBool flag)
    Parameters
    Type Name Description
    NativeBool flag

    動作フラグ(CRI_TRUE = ポーズ、CRI_FALSE = ポーズ解除)

    Remarks

    説明: 再生をポーズ(一時停止)したり、ポーズを解除します。 ポーズするか、ポーズを解除するかは、引数のflagで指定します。 flagにtrueを指定した場合、再生はポーズされます。 flagにfalseを指定した場合、ポーズが解除されます。 Atomプレーヤーがポーズされているかどうかは IsPaused() 関数を使用する ことで確認が可能です。 本関数は主に以下の2通りの用途に利用します。

    • 音声出力の一時停止/一時停止解除。
    • ストリーミング再生の頭出し。
    Start()

    【音声出力の一時停止/一時停止解除について】 再生中のAtomプレーヤーに対してポーズを行うと、その時点で音声の出力を中断します。 ポーズされたAtomプレーヤーに対してポーズ解除を行うと、ポーズ時に中断された箇所から 再生が再開されます。 【ストリーミング再生の頭出しについて】 ポーズ処理は再生開始前のAtomプレーヤーに対しても有効です。 再生開始前のAtomプレーヤーに対してポーズをかけた場合、ポーズされたAtomプレーヤーに 関数で再生指示しても、音声の出力は行われません。 しかし、再生準備は行われるため、データが充分に供給されていれば、ステータスは Playing まで遷移します。 ステータスが Playing の状態でポーズされているAtomプレーヤー については、ポーズ解除を行ったタイミングで発音を開始させることが可能です。 そのため、以下の処理手順を踏むことで、ストリーミング再生の発音タイミングを 他のアクションに同期させることが可能です。

    ResetPan()

    LE Pro

    パンのリセット

    Declaration
    • C#
    • C
    public void ResetPan()
    void CRIAPI criAtomPlayer_ResetPan(CriAtomPlayerHn player)
    Remarks

    説明: パンの設定をリセットします。 本関数を実行することで、過去にセットされたパン設定が全てクリアされます。 \備考: パンの設定には「自動設定」「手動設定」の2通りが存在します。 Atomプレーヤーを作成した直後や、本関数でパンをリセットした場合、 パンの設定は「自動設定」となります。 (自動設定時のルーティングについては、 SetPanAdx1Compatible(int, float) 関数の説明を参照してください。)

    注意: 本関数と ResetSendLevel() 関数を併用しないでください。 本関数が内部的に ResetSendLevel() 関数を呼び出すため、 両者を併用した場合、後から実行した関数により設定が上書きされる可能性があります。

    See Also
    SetPanAdx1Compatible(int, float)
    ResetSendLevel()

    ResetSendLevel()

    LE Pro

    センドレベルのリセット

    Declaration
    • C#
    • C
    public void ResetSendLevel()
    void CRIAPI criAtomPlayer_ResetSendLevel(CriAtomPlayerHn player)
    Remarks

    説明: センドレベルの設定をリセットします。 本関数を実行することで、過去にセットされたセンドレベル設定が全てクリアされます。 \備考: センドレベルの設定には「自動設定」「手動設定」の2通りが存在します。 Atomプレーヤーを作成した直後や、本関数でセンドレベルをリセットした場合、 センドレベルの設定は「自動設定」となります。 (自動設定時のルーティングについては、 SetSendLevel(int, SpeakerId, float) 関数の説明を参照してください。)

    注意: 本関数と ResetPan() 関数を併用しないでください。 ResetPan() 関数が、内部的に本関数を呼び出すため、 両者を併用した場合、後から実行した関数により設定が上書きされる可能性があります。

    See Also
    SetSendLevel(int, SpeakerId, float)
    ResetPan()

    SetAsrRackId(int)

    LE Pro

    ASRラックIDの指定

    Declaration
    • C#
    • C
    public void SetAsrRackId(int rackId)
    void CRIAPI criAtomPlayer_SetAsrRackId(CriAtomPlayerHn player, CriSint32 rack_id)
    Parameters
    Type Name Description
    int rackId

    ラックID

    Remarks

    説明: ボイスの出力先のラックIDを指定します。

    注意: 本関数は停止中のプレーヤーに対してのみ実行可能です。

    SetChannelVolume(int, float)

    LE Pro

    チャンネル単位のボリューム指定

    Declaration
    • C#
    • C
    public void SetChannelVolume(int ch, float vol)
    void CRIAPI criAtomPlayer_SetChannelVolume(CriAtomPlayerHn player, CriSint32 ch, CriFloat32 vol)
    Parameters
    Type Name Description
    int ch

    チャンネル番号

    float vol

    ボリューム値(0.0f~1.0f)

    Remarks

    説明: 出力音声のボリュームをチャンネル単位で指定します。 本関数を使用することで、Atomプレーヤーで再生する音声のボリュームを、 チャンネル単位で自由に変更可能です。 第2引数のチャンネル番号は"音声データのチャンネル番号"を指定します。 (出力スピーカーのIDではありません。) 例えば、モノラル音声の0番のボリュームを変更した場合、 スピーカーから出力される音声のボリューム全てが変更されます。 ( SetVolume(float) 関数を実行するのと同じ動作をします。) これに対し、ステレオ音声の0番のボリュームを変更すると、デフォルト設定 ではレフトスピーカーから出力される音声のボリュームのみが変更されます。 ( SetSendLevel(int, SpeakerId, float) 関数を併用している場合は、 必ずしもレフトスピーカーから出力される音量のボリュームが変更される とは限りません。) ボリューム値には、0.0f~1.0fの範囲で実数値を指定します。 ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。 例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。 0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。 0.0fを指定した場合、音声はミュートされます(無音になります)。 \備考: ボリューム値に1.0fを超える値を指定した場合、値は1.0fにクリップされます。 (原音より大きな音量で音声が再生されることはありません。) 同様に、ボリューム値に0.0f未満の値を指定した場合も、値は0.0fにクリップされます。 (位相が反転されることはありません。) 本関数の設定値と、以下の関数のボリューム設定値は独立して制御されます。

    • SetVolume(float)
    • SetSendLevel(int, SpeakerId, float) 例えば、本関数に0.5fを、 SetVolume(float) 関数にも0.5fを設定した場合、 出力音声のボリュームは原音を0.25f倍したボリュームで出力されます。 (0.5f×0.5f=0.25fの演算が行われます。)
    See Also
    SetVolume(float)
    SetSendLevel(int, SpeakerId, float)
    SetPanAdx1Compatible(int, float)

    SetContentId(CriFsBinder, int)

    LE Pro

    音声データのセット(CPKコンテンツIDの指定)

    Declaration
    • C#
    • C
    public void SetContentId(CriFsBinder binder, int id)
    void CRIAPI criAtomPlayer_SetContentId(CriAtomPlayerHn player, CriFsBinderHn binder, CriSint32 id)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    int id

    コンテンツID

    Remarks

    説明: コンテンツをAtomプレーヤーに関連付けます。 CRI File Systemライブラリを使用してCPKファイル内のコンテンツファイルを ID指定で再生するために使用します。 本関数にバインダーとコンテンツIDを指定後、 Start() 関数で再生を 開始すると、指定されたコンテンツファイルがストリーミング再生されます。 尚、本関数を実行した時点では、ファイルの読み込みは開始されません。 ファイルの読み込みが開始されるのは、 Start() 関数実行後です。

    尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。

    注意: ファイルからの再生を行う場合には、ストリーミング再生に対応した Atomプレーヤーを使用する必要があります。 ( CriAtom.AdxPlayerConfig のstreaming_flagにtrueを設定して Atomプレーヤーを作成する必要があります。) 本関数は停止中のプレーヤーに対してのみ実行可能です。

    See Also
    CriAtom.AdxPlayerConfig
    CreateAdxPlayer(in AdxPlayerConfig)
    Start()

    SetData(IntPtr, int)

    LE Pro

    音声データのセット(オンメモリデータの指定)

    Declaration
    • C#
    • C
    public void SetData(IntPtr buffer, int bufferSize)
    void CRIAPI criAtomPlayer_SetData(CriAtomPlayerHn player, void *buffer, CriSint32 buffer_size)
    Parameters
    Type Name Description
    IntPtr buffer

    バッファーアドレス

    int bufferSize

    バッファーサイズ

    Remarks

    説明: メモリ上に配置された音声データを、Atomプレーヤーに関連付けます。 本関数でメモリアドレスとサイズを指定後、 Start() 関数で再生を 開始すると、指定されたデータが再生されます。

    尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。

    注意: プレーヤーが記憶するのはバッファーのアドレスとサイズのみです。 (バッファー内のデータがコピーされるわけではありません。) そのため、指定したデータの再生が終了するまでの間、 アプリケーション側でバッファーを保持し続ける必要があります。 本関数は停止中のプレーヤーに対してのみ実行可能です。

    See Also
    Start()

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

    LE Pro

    データ要求コールバック関数の登録

    Declaration
    • C#
    • C
    public void SetDataRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func, IntPtr obj)
    void CRIAPI criAtomPlayer_SetDataRequestCallback(CriAtomPlayerHn player, CriAtomPlayerDataRequestCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func

    データ要求コールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: データ要求コールバック関数の登録を行います。 データ要求コールバックは、複数の音声データをシームレスに連結して再生する際に 使用します。 登録したコールバック関数は、Atomプレーヤーが連結再生用のデータを要求するタイミングで 実行されます。 (前回のデータを読み込み終えて、次に再生すべきデータを要求するタイミングで コールバック関数が実行されます。) 登録したコールバック関数内で SetData(IntPtr, int) 関数等を用いてAtomプレーヤーに データをセットすると、セットされたデータは現在再生中のデータに続いてシームレスに 連結されて再生されます。 また、コールバック関数内で SetPreviousDataAgain() 関数を実行することで、 同一データを繰り返し再生し続けることも可能です。

    備考: 登録したコールバック関数内でデータを指定しなかった場合、現在のデータを再生し 終えた時点で、Atomプレーヤーのステータスが Playend に遷移します。 タイミング等の問題により、データを指定することができないが、ステータスを Playend に遷移させたくない場合には、コールバック関数内で DeferCallback() 関数を実行してください。 DeferCallback() 関数を実行することで、約1V後に再度データ要求 コールバック関数が呼び出されます。(コールバック処理をリトライ可能。) ただし、 DeferCallback() 関数を実行した場合、再生が途切れる (連結箇所に一定時間無音が入る)可能性があります。

    注意: データ要求コールバック関数内で長時間処理をブロックすると、音切れ等の問題が 発生しますので、ご注意ください。 シームレス連結再生をサポートしないコーデックを使用している場合、 データ要求コールバック関数内で次のデータをセットしても、 データは続けて再生されません。 (HCA-MXやプラットフォーム固有の音声圧縮コーデックを使用している場合、 シームレス連結再生はできません。) シームレス連結再生に使用する波形データのフォーマットは、 全て同じにする必要があります。 具体的には、以下のパラメーターが同じである必要があります。

    • コーデック
    • チャンネル数
    • サンプリングレート

    パラメーターが異なる波形を連結しようとした場合、 意図しない速度で音声データが再生されたり、 エラーコールバックが発生する等の問題が発生します。 コールバック関数内でループ付きの波形データをセットした場合でも、 ループ再生は行われません。 (ループポイントが無視され、再生が終了します。) コールバック関数内でAtomプレーヤーを破棄しないでください。 コールバックを抜けた後も、しばらくの間はサーバー処理内で当該ハンドルのリソース が参照されるため、アクセス違反等の重大な問題が発生する可能性があります。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにNULLを指定することで登録済み関数の登録解除が行えます。

    See Also
    CriAtomPlayer.DataRequestCbFunc
    SetData(IntPtr, int)
    SetPreviousDataAgain()
    DeferCallback()

    SetDefaultConfigASR(in ConfigASR)

    LE Pro

    CriAtomPlayer.ConfigASRへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigASR(in CriAtomPlayer.ConfigASR pConfig)
    void criAtomPlayer_SetDefaultConfig_ASR_(CriAtomPlayerConfig_ASR *p_config)
    Parameters
    Type Name Description
    CriAtomPlayer.ConfigASR pConfig

    プレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

    説明: プレーヤーを作成する際に、動作仕様を指定するためのコンフィグ構造体 ( CriAtomPlayer.ConfigASR )に、デフォルトの値をセットします。

    See Also
    CriAtomPlayer.ConfigASR

    SetDefaultConfigForAdxPlayer(out AdxPlayerConfig)

    LE Pro

    CriAtom.AdxPlayerConfigへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForAdxPlayer(out CriAtom.AdxPlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForAdxPlayer_(CriAtomAdxPlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtom.AdxPlayerConfig pConfig

    ADXプレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    CriAtom.AdxPlayerConfig
    CreateAdxPlayer(in AdxPlayerConfig)

    SetDefaultConfigForAiffPlayer(out AiffPlayerConfig)

    LE Pro

    CriAtom.AiffPlayerConfigへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForAiffPlayer(out CriAtom.AiffPlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForAiffPlayer_(CriAtomAiffPlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtom.AiffPlayerConfig pConfig

    AIFFプレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    CriAtom.AiffPlayerConfig
    CreateAiffPlayer(in AiffPlayerConfig)

    SetDefaultConfigForHcaMxPlayer(out PlayerConfig)

    LE Pro

    CriAtomHcaMx.PlayerConfigへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForHcaMxPlayer(out CriAtomHcaMx.PlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForHcaMxPlayer_(CriAtomHcaMxPlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtomHcaMx.PlayerConfig pConfig

    HCA-MXプレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    CriAtomHcaMx.PlayerConfig
    CreateHcaMxPlayer(in PlayerConfig)

    SetDefaultConfigForHcaPlayer(out HcaPlayerConfig)

    LE Pro

    CriAtom.HcaPlayerConfigへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForHcaPlayer(out CriAtom.HcaPlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForHcaPlayer_(CriAtomHcaPlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtom.HcaPlayerConfig pConfig

    HCAプレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    CriAtom.HcaPlayerConfig
    CreateHcaPlayer(in HcaPlayerConfig)

    SetDefaultConfigForInstrumentPlayer(out PlayerConfig)

    LE Pro

    CriAtomInstrument.PlayerConfigへデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForInstrumentPlayer(out CriAtomInstrument.PlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForInstrumentPlayer_(CriAtomInstrumentPlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtomInstrument.PlayerConfig pConfig

    インストゥルメントプレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    AllocateInstrumentVoicePool(in InstrumentVoicePoolConfig)

    SetDefaultConfigForRawPcmPlayer(out RawPcmPlayerConfig)

    LE Pro

    CriAtom.RawPcmPlayerConfigへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForRawPcmPlayer(out CriAtom.RawPcmPlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForRawPcmPlayer_(CriAtomRawPcmPlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtom.RawPcmPlayerConfig pConfig

    RawPCMプレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    CriAtom.RawPcmPlayerConfig
    CreateRawPcmPlayer(in RawPcmPlayerConfig)

    SetDefaultConfigForStandardPlayer(out StandardPlayerConfig)

    LE Pro

    CriAtom.StandardPlayerConfigへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForStandardPlayer(out CriAtom.StandardPlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForStandardPlayer_(CriAtomStandardPlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtom.StandardPlayerConfig pConfig

    標準プレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    CriAtom.StandardPlayerConfig
    CreateStandardPlayer(in StandardPlayerConfig)

    SetDefaultConfigForWavePlayer(out WavePlayerConfig)

    LE Pro

    CriAtom.WavePlayerConfigへのデフォルトパラメーターのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfigForWavePlayer(out CriAtom.WavePlayerConfig pConfig)
    void criAtomPlayer_SetDefaultConfigForWavePlayer_(CriAtomWavePlayerConfig *p_config)
    Parameters
    Type Name Description
    CriAtom.WavePlayerConfig pConfig

    WAVEプレーヤー作成用コンフィグ構造体へのポインタ

    Remarks

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

    See Also
    CriAtom.WavePlayerConfig
    CreateWavePlayer(in WavePlayerConfig)

    SetFile(CriFsBinder, ArgString)

    LE Pro

    音声データのセット(ファイルの指定)

    Declaration
    • C#
    • C
    public void SetFile(CriFsBinder binder, ArgString path)
    void CRIAPI criAtomPlayer_SetFile(CriAtomPlayerHn player, CriFsBinderHn binder, const CriChar8 *path)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ArgString path

    ファイルパス

    Remarks

    説明: 音声ファイルをAtomプレーヤーに関連付けます。 本関数でファイルを指定後、 Start() 関数で再生を開始すると、 指定されたファイルがストリーミング再生されます。 尚、本関数を実行した時点では、ファイルの読み込みは開始されません。 ファイルの読み込みが開始されるのは、 Start() 関数実行後です。

    尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。

    注意: ファイルからの再生を行う場合には、ストリーミング再生に対応した Atomプレーヤーを使用する必要があります。 ( CriAtom.AdxPlayerConfig のstreaming_flagにtrueを設定して Atomプレーヤーを作成する必要があります。) 本関数は停止中のプレーヤーに対してのみ実行可能です。

    See Also
    CriAtom.AdxPlayerConfig
    CreateAdxPlayer(in AdxPlayerConfig)
    Start()

    SetFilterCallback(delegate* unmanaged[Cdecl]<IntPtr, PcmFormat, int, int, IntPtr*, void>, IntPtr)

    LE Pro

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

    Declaration
    • C#
    • C
    public void SetFilterCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtom.PcmFormat, int, int, IntPtr*, void> func, IntPtr obj)
    void CRIAPI criAtomPlayer_SetFilterCallback(CriAtomPlayerHn player, CriAtomPlayerFilterCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, PcmFormat, int, int, IntPtr*, void> func

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

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: デコード結果の PCM データを受け取るコールバック関数を登録します。 登録されたコールバック関数は、 Atom プレーヤーが音声データをデコードしたタイミングで呼び出されます。

    注意: ステータス変更コールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。 HCA-MXコーデックやプラットフォーム固有の音声圧縮コーデックを使用している場合、 フィルターコールバックは利用できません。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    See Also
    CriAtomPlayer.FilterCbFunc

    SetFrequencyRatio(float)

    LE Pro

    周波数調整比の設定

    Declaration
    • C#
    • C
    public void SetFrequencyRatio(float ratio)
    void CRIAPI criAtomPlayer_SetFrequencyRatio(CriAtomPlayerHn player, CriFloat32 ratio)
    Parameters
    Type Name Description
    float ratio

    周波数調整比

    Remarks

    説明: 音声の周波数調整比を設定します。 周波数調整比は、音声データの周波数と再生周波数の比率で、再生速度の倍率と等価です。 周波数比が1.0fを超える場合、音声データは原音より高速に再生され、 1.0f未満の場合は、音声データは原音より低速で再生されます。 周波数比は、音声のピッチにも影響します。 例えば、周波数比を1.0fで再生した場合、音声データは原音通りのピッチで再生されますが、 周波数比を2.0fに変更した場合、ピッチは1オクターブ上がます。 (再生速度が2倍になるため。)

    注意: 周波数比に1.0fを超える値を設定した場合、再生する音声のデータが通常より 速く消費されるため、音声データの供給や、データのデコードが間に合わなくなる 可能性があります。 (音切れ等の問題が発生する可能性があります。) 周波数比に1.0fを超える値を設定する場合には、Atomプレーヤー作成時に指定する 最大サンプリングレートの値を、周波数比を考慮した値に設定してください。 (Atomプレーヤー作成時に指定する CriAtom.AdxPlayerConfig 構造体 の max_sampling_rate の値に、「原音のサンプリングレート×周波数比」で 計算される値を指定する必要があります。) 本関数は一部の機種でのみ利用が可能です。 (プラットフォームのサウンドライブラリの仕様によっては実装が困難な場合が あり、その場合は利用できません。) 本関数が利用可能かどうかは、別途マニュアルの機種依存情報のページをご参照ください。

    See Also
    CriAtom.AdxPlayerConfig
    CreateAdxPlayer(in AdxPlayerConfig)
    SetMaxFrequencyRatio(float)

    SetHcaFormat(int, int, int)

    LE Pro

    HCAフォーマットの指定

    Declaration
    • C#
    • C
    public void SetHcaFormat(int numChannels, int samplingRate, int bitrate)
    void CRIAPI criAtomPlayer_SetHcaFormat(CriAtomPlayerHn player, CriSint32 num_channels, CriSint32 sampling_rate, CriSint32 bitrate)
    Parameters
    Type Name Description
    int numChannels

    チャンネル数

    int samplingRate

    サンプリング周波数

    int bitrate

    ビットレート

    Remarks

    説明: HCAデータのフォーマット情報を設定します。 本関数を実行することで、ヘッダーレスのHCAデータを再生することが可能になります。

    SetHcaMxMixerId(int)

    LE Pro

    HCA-MXデコード先ミキサーIDの指定

    Declaration
    • C#
    • C
    public void SetHcaMxMixerId(int mixerId)
    void CRIAPI criAtomPlayer_SetHcaMxMixerId(CriAtomPlayerHn player, CriSint32 mixer_id)
    Parameters
    Type Name Description
    int mixerId

    ミキサーID

    Remarks

    説明: HCA-MXのデコード先ミキサーIDを指定します。

    注意: 本関数は CreateHcaMxPlayer(in PlayerConfig) 関数で作成されたプレーヤーに対してのみ効果があります。 (他の関数で作成されたプレーヤーに対しては、何の効果もありません。) 本関数は停止中のプレーヤーに対してのみ実行可能です。

    See Also
    CreateHcaMxPlayer(in PlayerConfig)

    SetLoadRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, NativeString, long, long, void>, IntPtr)

    LE Pro

    ロード要求コールバック関数の登録

    Declaration
    • C#
    • C
    public void SetLoadRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, NativeString, long, long, void> func, IntPtr obj)
    void CRIAPI criAtomPlayer_SetLoadRequestCallback(CriAtomPlayerHn player, CriAtomPlayerLoadRequestCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, NativeString, long, long, void> func

    ロード要求コールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: ロード要求コールバック関数の登録を行います。 ロード要求コールバックは、Atomプレーヤーのファイルロード状態を監視する際に使用します。 (デバッグ目的の関数なので、通常本関数を使用する必要はありません。)

    注意: ロード要求コールバック関数内で長時間処理をブロックすると、音切れ等の問題が 発生しますので、ご注意ください。 コールバック関数内でAtomプレーヤーを破棄しないでください。 コールバックを抜けた後も、しばらくの間はサーバー処理内で当該オブジェクトのリソース が参照されるため、アクセス違反等の重大な問題が発生する可能性があります。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    See Also
    CriAtomPlayer.LoadRequestCbFunc

    SetMaxFrequencyRatio(float)

    LE Pro

    最大周波数調整比の設定

    Declaration
    • C#
    • C
    public void SetMaxFrequencyRatio(float ratio)
    void CRIAPI criAtomPlayer_SetMaxFrequencyRatio(CriAtomPlayerHn player, CriFloat32 ratio)
    Parameters
    Type Name Description
    float ratio

    最大周波数調整比

    Remarks

    説明: 音声の最大周波数調整比を設定します。 本関数で最大周波数調整比を指定することで、指定範囲内でのピッチ変更が即座に反映されるようになります。

    備考: Atom Ver.2.10.00以前のライブラリでは、ピッチを上げた際に音が途切れる (再生速度が速くなった結果、音声データの供給が足りなくなる)ケースがありました。 この対策として、Atom Ver.2.10.00ではピッチを上げても音が途切れないよう、 音声を充分にバッファリングしてからピッチを上げるよう動作を変更しています。 修正により、ピッチ操作によって音が途切れることはなくなりましたが、 ピッチを上げる際にバッファリングを待つ時間分だけピッチ変更が遅れる形になるため、 音の変化が以前のバージョンと比べて緩慢になる可能性があります。 (短時間にピッチを上げ下げするケースにおいて、音の鳴り方が変わる可能性があります。) 本関数で最大周波数調整比をあらかじめ設定した場合、 指定された速度を想定して常にバッファリングが行われるようになるため、 (指定された範囲内の周波数においては)バッファリングなしにピッチ変更が即座に行われます。 短時間にピッチを上げ下げするケースについては、 予想される最大周波数調整比をあらかじめ本関数で設定してから再生を行ってください。

    See Also
    SetFrequencyRatio(float)

    SetPanAdx1Compatible(int, float)

    LE Pro

    パンの設定

    Declaration
    • C#
    • C
    public void SetPanAdx1Compatible(int ch, float pan)
    void CRIAPI criAtomPlayer_SetPanAdx1Compatible(CriAtomPlayerHn player, CriSint32 ch, CriFloat32 pan)
    Parameters
    Type Name Description
    int ch

    チャンネル番号

    float pan

    パン設定値(-1.0f~1.0f)

    Remarks

    説明: パン(音源の定位位置)を指定します。 本関数を実行することで、モノラル音声やステレオ音声に対し、音源の定位位置を自由 にコントロールすることが可能です。 第2引数のチャンネル番号は"音声データのチャンネル番号"を指定します。 第3引数のパン設定値には、指定したチャンネル番号のデータの定位をどの位置にする かを指定します。 パン設定値は、-1.0f~1.0fの範囲で実数値を指定します。 音源は、負の値を指定すると中央より左側(値が小さいほど左寄り)、0.0fを指定すると 中央、正の値を指定すると中央より右側(値が大きいほど右寄り)に定位します。 (キリのいい値では、-1.0fが左端、0.0fが中央、1.0fが右端になります。) -1.0fと1.0fの間では、音源の位置はリニアに変化します。 つまり、パン設定値を一定量ずつ変化させながら-1.0~1.0まで変更した場合、 音源は左端から右端へ一定速度で移動することになります。

    備考: パンの設定には「自動設定」「手動設定」の2通りが存在します。 Atomプレーヤーを作成した直後や、 ResetPan() 関数で パンをクリアした場合、パンの設定は「自動設定」となります。 本関数を実行した場合、パンの設定は「手動設定」となります。 「自動設定」の場合、Atomプレーヤーは以下のように音声をルーティングします。 【モノラル音声を再生する場合】 チャンネル0の音声を左右のスピーカーから約0.7f(-3dB)のボリュームで出力します。 【ステレオ音声を再生する場合】 チャンネル0の音声をレフトスピーカーから、 チャンネル1の音声をライトスピーカーから出力します。 これに対し、本関数を用いて「手動設定」を行った場合、音声データのチャンネル数に 関係なく、指定されたルーティングで音声が出力されます。 パンの設定をクリアし、ルーティングを「自動設定」の状態に戻したい場合は、 ResetPan() 関数を実行してください。

    注意: 本関数でパンをコントロール可能なのは、モノラル音声とステレオ音声のみです。 3ch以上の音声に対してパンをコントロールしたい場合には、 SetSendLevel(int, SpeakerId, float) 関数を使用する必要があります。 再生する音声データがステレオの場合、チャンネル0番とチャンネル1番のそれぞれの について、独立してパンをコントロールすることが可能です。 ただし、設定されたパンがモノラル音声向けなのか、ステレオ音声向けなのかは区別 されないため、ステレオ設定用にパン設定を行ったAtomプレーヤーでモノラル音声を再生 した場合、意図しない位置に音源が定位する可能性があります。 再生する音声データがステレオにもかかわらず、どちらか一方のチャンネルに対して しかパンが設定されていない場合、パンを設定していないチャンネルの音声の定位位置 は 0.0f (中央からの出力)になります。 ステレオ音声のパンをコントロールする際には、必ず両方のチャンネルについてパンの 設定を行ってください。 本関数と SetSendLevel(int, SpeakerId, float) 関数を併用しないでください。 本関数が内部的に SetSendLevel(int, SpeakerId, float) 関数を呼び出すため、 両者を併用した場合、後から実行した関数により設定が上書きされる可能性があります。 音源の定位をコントロールする際には、本関数かまたは SetSendLevel(int, SpeakerId, float) 関数 のいずれか一方のみをご利用ください。 (3Dパンを利用する場合は SetSendLevel(int, SpeakerId, float) 関数を、2Dパンのみを行う場合は 本関数をご利用ください。)

    See Also
    SetVolume(float)
    SetChannelVolume(int, float)
    SetPanAdx1Compatible(int, float)
    ResetPan()

    SetParameterChangeCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, ParameterId, float, void>, IntPtr)

    LE Pro

    パラメーター変更コールバック関数の登録

    Declaration
    • C#
    • C
    public void SetParameterChangeCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, CriAtom.ParameterId, float, void> func, IntPtr obj)
    void CRIAPI criAtomPlayer_SetParameterChangeCallback(CriAtomPlayerHn player, CriAtomPlayerParameterChangeCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, ParameterId, float, void> func

    パラメーター変更コールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: パラメーター変更コールバック関数を登録します。 登録したコールバック関数は、Atomプレーヤーのパラメーターが更新されるタイミングで実行されます。

    注意: パラメーター変更コールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。 コールバック関数内でAtomプレーヤーを破棄しないでください。 コールバックを抜けた後も、しばらくの間はサーバー処理内で当該オブジェクトのリソース が参照されるため、アクセス違反等の重大な問題が発生する可能性があります。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    SetPreviousDataAgain()

    LE Pro

    同一音声データの再セット

    Declaration
    • C#
    • C
    public void SetPreviousDataAgain()
    void CRIAPI criAtomPlayer_SetPreviousDataAgain(CriAtomPlayerHn player)
    Remarks

    説明: 前回再生したデータを、再度再生するようAtomプレーヤーに指示します。

    注意: 本関数はデータ要求コールバック関数内でのみ使用します。 (データ要求コールバック関数外でも実行可能ですが、その場合何の効果もありません。)

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

    SetRawPcmFormat(PcmFormat, int, int)

    LE Pro

    RawPCMフォーマットの指定

    Declaration
    • C#
    • C
    public void SetRawPcmFormat(CriAtom.PcmFormat pcmFormat, int numChannels, int samplingRate)
    void CRIAPI criAtomPlayer_SetRawPcmFormat(CriAtomPlayerHn player, CriAtomPcmFormat pcm_format, CriSint32 num_channels, CriSint32 sampling_rate)
    Parameters
    Type Name Description
    CriAtom.PcmFormat pcmFormat

    RawPCMのデータフォーマット

    int numChannels

    チャンネル数

    int samplingRate

    サンプリングレート

    Remarks

    説明: RawPCMのデータフォーマット情報を指定します。

    注意: 本関数は CreateRawPcmPlayer(in RawPcmPlayerConfig) 関数で作成されたプレーヤーに対してのみ効果があります。 (他の関数で作成されたプレーヤーに対しては、何の効果もありません。) 本関数は停止中のプレーヤーに対してのみ実行可能です。

    See Also
    CreateRawPcmPlayer(in RawPcmPlayerConfig)

    SetSendLevel(int, SpeakerId, float)

    LE Pro

    センドレベルの設定

    Declaration
    • C#
    • C
    public void SetSendLevel(int ch, CriAtom.SpeakerId spk, float level)
    void CRIAPI criAtomPlayer_SetSendLevel(CriAtomPlayerHn player, CriSint32 ch, CriAtomSpeakerId spk, CriFloat32 level)
    Parameters
    Type Name Description
    int ch

    チャンネル番号

    CriAtom.SpeakerId spk

    スピーカーID

    float level

    ボリューム値(0.0f~1.0f)

    Remarks

    説明: センドレベルを指定します。 センドレベルは、音声データの各チャンネルの音声を、どのスピーカーから どの程度の音量で出力するかを指定するための仕組みです。 第2引数のチャンネル番号は"音声データのチャンネル番号"を指定します。 第3引数のスピーカーIDには、指定したチャンネル番号のデータをどのスピーカーから 出力するかを指定し、第4引数の送信時のボリュームを指定します。 ボリューム値は、0.0f~1.0fの範囲で実数値を指定します。 ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。 例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。 0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。 0.0fを指定した場合、音声はミュートされます(無音になります)。 チャンネル単位のボリューム指定( SetChannelVolume(int, float) 関数) と異なり、本関数では1つのチャンネルのデータを複数のスピーカーから異なる ボリュームで出力することが可能です。 尚、セットされたセンドレベルの値は ResetSendLevel() 関数で リセットすることが可能です。 \備考: センドレベルの設定には「自動設定」「手動設定」の2通りが存在します。 Atomプレーヤーを作成した直後や、 ResetSendLevel() 関数で センドレベルをクリアした場合、センドレベルの設定は「自動設定」となります。 本関数を実行した場合、センドレベルの設定は「手動設定」となります。 「自動設定」の場合、Atomプレーヤーは以下のように音声をルーティングします。 【モノラル音声を再生する場合】 チャンネル0の音声を左右のスピーカーから約0.7f(-3dB)のボリュームで出力します。 【ステレオ音声を再生する場合】 チャンネル0の音声をレフトスピーカーから、 チャンネル1の音声をライトスピーカーから出力します。 【4ch音声を再生する場合】 チャンネル0の音声をレフトスピーカーから、チャンネル1の音声をライトスピーカーから、 チャンネル2の音声をサラウンドレフトスピーカーから、 チャンネル3の音声をサラウンドライトスピーカーからでそれぞれ出力します。 【5ch音声を再生する場合】 チャンネル0の音声をレフトスピーカーから、チャンネル1の音声をライトスピーカーから、 チャンネル2の音声をセンタースピーカーから、 チャンネル3の音声をサラウンドレフトスピーカーから、 チャンネル4の音声をサラウンドライトスピーカーからそれぞれ出力します。 ( 5ch音声を再生する場合、 criAtom_SetChannelMapping 関数で別の並び順に変更することも可能です。) 【5.1ch音声を再生する場合】 チャンネル0の音声をレフトスピーカーから、チャンネル1の音声をライトスピーカーから、 チャンネル2の音声をセンタースピーカーから、チャンネル3の音声をLFEから、 チャンネル4の音声をサラウンドレフトスピーカーから、 チャンネル5の音声をサラウンドライトスピーカーからそれぞれ出力します。 ( 6ch音声を再生する場合、 criAtom_SetChannelMapping 関数で別の並び順に変更することも可能です。) 【7.1ch音声を再生する場合】 チャンネル0の音声をレフトスピーカーから、チャンネル1の音声をライトスピーカーから、 チャンネル2の音声をセンタースピーカーから、チャンネル3の音声をLFEから、 チャンネル4の音声をサラウンドレフトスピーカーから、 チャンネル5の音声をサラウンドライトスピーカーから、 チャンネル6の音声をサラウンドバックレフトスピーカーから、 チャンネル7の音声をサラウンドバックライトスピーカーからそれぞれ出力します。 これに対し、本関数を用いて「手動設定」を行った場合、音声データのチャンネル数に 関係なく、指定されたルーティングで音声が出力されます。 (センドレベルを設定していないチャンネルの音声は出力されません。) センドレベルの設定をクリアし、ルーティングを「自動設定」の状態に戻したい場合は、 ResetSendLevel() 関数を実行してください。 ボリューム値に1.0fを超える値を指定した場合、値は1.0fにクリップされます。 (原音より大きな音量で音声が再生されることはありません。) 同様に、ボリューム値に0.0f未満の値を指定した場合も、値は0.0fにクリップされます。 (位相が反転されることはありません。) 本関数の設定値と、以下の関数のボリューム設定値は独立して制御されます。

    • SetVolume(float)
    • SetChannelVolume(int, float) 例えば、本関数に0.5fを、 SetVolume(float) 関数にも0.5fを設定した場合、 出力音声のボリュームは原音を0.25f倍したボリュームで出力されます。 (0.5f×0.5f=0.25fの演算が行われます。)

    注意: 再生する音声データがマルチチャンネルのデータであっても、センドレベルが一部の チャンネルのみにしか設定されていない場合、センドレベルの設定されていない チャンネルの音声は出力されません。 本関数と SetPanAdx1Compatible(int, float) 関数を併用しないでください。 SetPanAdx1Compatible(int, float) 関数が、内部的に本関数を呼び出すため、 両者を併用した場合、後から実行した関数により設定が上書きされる可能性があります。 音源の定位をコントロールする際には、本関数かまたは SetPanAdx1Compatible(int, float) 関数 のいずれか一方のみをご利用ください。 (3Dパンを利用する場合は本関数を、2Dパンのみを行う場合は SetPanAdx1Compatible(int, float) 関数をご利用ください。) 本関数は一部の機種でのみ利用が可能です。 (プラットフォームのサウンドライブラリの仕様によっては実装が困難な場合が あり、その場合は利用できません。) 本関数が利用可能かどうかは、別途マニュアルの機種依存情報のページをご参照ください。

    See Also
    SetVolume(float)
    SetChannelVolume(int, float)
    SetPanAdx1Compatible(int, float)
    ResetSendLevel()

    SetStartTime(long)

    LE Pro

    再生開始位置の指定

    Declaration
    • C#
    • C
    public void SetStartTime(long startTimeMs)
    void CRIAPI criAtomPlayer_SetStartTime(CriAtomPlayerHn player, CriSint64 start_time_ms)
    Parameters
    Type Name Description
    long startTimeMs

    再生開始位置(ミリ秒指定)

    Remarks

    説明: Atomプレーヤーで再生する音声について、再生を開始する位置を指定します。 音声データを途中から再生したい場合、再生開始前に本関数で再生開始位置を 指定する必要があります。 再生開始位置の指定はミリ秒単位で行います。 例えば、 start_time_ms に 10000 をセットして本関数を実行すると、 次に再生する音声データは 10 秒目の位置から再生されます。

    備考 本関数で再生位置を指定した場合でも、指定した時刻ぴったりの位置から再生が 開始されるとは限りません。 (使用する音声コーデックによっては、指定時刻の少し手前から再生が開始されます。) 音声データ途中からの再生は、音声データ先頭からの再生に比べ、発音開始の タイミングが遅くなります。 これは、一旦音声データのヘッダーを解析後、指定位置にジャンプしてからデータを読み 直して再生を開始するためです。

    注意: start_time_ms には64bit値をセット可能ですが、現状、32bit以上の再生時刻を 指定することはできません。 音声再生中に本関数を実行しても、再生中の音声の再生位置は変更されません。 本関数で設定した値は、 Start() 関数で音声の再生を開始する タイミングでのみ参照されます。 機種固有の音声フォーマットについても、再生開始位置を指定できない場合があります。 暗号化されたADXデータについては、データ途中から正しく再生できません。 本関数で再生位置を変更後、暗号化されたADXデータを再生すると、ノイズが発生します。

    See Also
    Start()

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

    LE Pro

    ステータス変更コールバック関数の登録

    Declaration
    • C#
    • C
    public void SetStatusChangeCallback(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func, IntPtr obj)
    void CRIAPI criAtomPlayer_SetStatusChangeCallback(CriAtomPlayerHn player, CriAtomPlayerStatusChangeCbFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func

    ステータス変更コールバック関数

    IntPtr obj

    ユーザ指定オブジェクト

    Remarks

    説明: ステータス変更コールバック関数を登録します。 登録したコールバック関数は、Atomプレーヤーのステータスが更新されるタイミングで 実行されます。 変更されたステータスについては、コールバック関数の引数として渡されるAtomプレーヤー オブジェクトに対し、 GetStatus() 関数を実行することで取得可能です。 ステータス変更コールバックを利用することで、Atomプレーヤーのステータス変更に 合わせて特定の処理を行うことが可能になります。

    備考: 厳密には、ステータス遷移~コールバック関数実行までの間に他の処理が割り込みで動作する 余地があるため、ステータス遷移とコールバック関数実行のタイミングがズレる可能性があります。

    注意: ステータス変更コールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。 ステータス変更コールバック関数を抜けるまでは、Atomプレーヤーのステータスが 変更されることはありません。 そのため、ステータス変更コールバック関数内でAtomプレーヤーのステータス遷移を 待つ処理を行うと、デッドロックが発生し、処理が先に進まなくなります。 コールバック関数内でAtomプレーヤーを破棄しないでください。 コールバックを抜けた後も、しばらくの間はサーバー処理内で当該オブジェクトのリソース が参照されるため、アクセス違反等の重大な問題が発生する可能性があります。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。

    See Also
    GetStatus()

    SetVolume(float)

    LE Pro

    ボリュームの指定

    Declaration
    • C#
    • C
    public void SetVolume(float vol)
    void CRIAPI criAtomPlayer_SetVolume(CriAtomPlayerHn player, CriFloat32 vol)
    Parameters
    Type Name Description
    float vol

    ボリューム値

    Remarks

    説明: 出力音声のボリュームを指定します。 本関数を使用することで、Atomプレーヤーで再生する音声のボリュームを自由に 変更可能です。 ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。 例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。 0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。 0.0fを指定した場合、音声はミュートされます(無音になります)。 \備考: ボリューム値には0.0f以上の値が設定可能です。 (Atomライブラリ Ver.1.21.07より、 ボリューム値に1.0fを超える値を指定できるようになりました。) 1.0fを超える値をセットした場合、プラットフォームによっては、 波形データを元素材よりも大きな音量で再生可能です。 ボリューム値に負値を指定した場合、値は0.0fにクリップされます。 (波形データの位相が反転されることはありません。) 本関数の設定値と、以下の関数のボリューム設定値は独立して制御されます。

    • SetChannelVolume(int, float)
    • SetSendLevel(int, SpeakerId, float)
    SetChannelVolume(int, float)

    注意: 1.0fを超えるボリュームを指定する場合、以下の点に注意する必要があります。

    • プラットフォームごとに挙動が異なる可能性がある。
    • 音割れが発生する可能性がある。

    例えば、本関数に0.5fを、 関数にも0.5fを設定した場合、 出力音声のボリュームは原音を0.25f倍したボリュームで出力されます。 (0.5f×0.5f=0.25fの演算が行われます。) 本関数に1.0fを超えるボリューム値を設定した場合でも、 音声が元の波形データよりも大きな音量で再生されるかどうかは、 プラットフォームや音声圧縮コーデックの種別によって異なります。 そのため、マルチプラットフォームタイトルでボリュームを調整する場合には、 1.0fを超えるボリューム値を使用しないことをおすすめします。 (1.0fを超えるボリューム値を指定した場合、同じ波形データを再生した場合でも、 機種ごとに異なる音量で出力される可能性があります。) また、音量を上げることが可能な機種であっても、 ハードウェアで出力可能な音量には上限があるため、 音割れによるノイズが発生する可能性があります。

    See Also
    GetVolume()

    SetWaveId(CriAtomAwb, int)

    LE Pro

    音声データのセット(音声データIDの指定)

    Declaration
    • C#
    • C
    public void SetWaveId(CriAtomAwb awb, int id)
    void CRIAPI criAtomPlayer_SetWaveId(CriAtomPlayerHn player, CriAtomAwbHn awb, CriSint32 id)
    Parameters
    Type Name Description
    CriAtomAwb awb

    AWBハンドル

    int id

    波形データID

    Remarks

    説明: 再生する波形データをAtomプレーヤーに関連付けます。 本関数にAWBオブジェクトと波形データIDを指定後、 Start() 関数で再生を 開始すると、指定した波形データがストリーミング再生されます。 尚、本関数を実行した時点では、ファイルの読み込みは開始されません。 ファイルの読み込みが開始されるのは、 Start() 関数実行後です。

    尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。

    注意: ファイルからの再生を行う場合には、ストリーミング再生に対応した Atomプレーヤーを使用する必要があります。 ( CriAtom.AdxPlayerConfig のstreaming_flagにtrueを設定して Atomプレーヤーを作成する必要があります。) 本関数は停止中のプレーヤーに対してのみ実行可能です。

    See Also
    CriAtom.AdxPlayerConfig
    CreateAdxPlayer(in AdxPlayerConfig)
    Start()

    Start()

    LE Pro

    再生の開始

    Declaration
    • C#
    • C
    public void Start()
    void CRIAPI criAtomPlayer_Start(CriAtomPlayerHn player)
    Remarks

    説明: 音声データの再生処理を開始します。 本関数を実行する前に、事前に SetData(IntPtr, int) 関数等を使用し、再生する 音声データをAtomプレーヤーにセットしておく必要があります。 例えば、オンメモリの音声データを再生する場合には、事前に SetData(IntPtr, int) 関数を使って音声データをセットした後、本関数を実行する 必要があります。 本関数実行後、再生の進み具合(発音が開始されたか、再生が完了したか等)がどうなって いるかは、ステータスを取得することで確認が可能です。 ステータスの取得には、 GetStatus() 関数を使用します。 GetStatus() 関数は以下の5通りのステータスを返します。

    1. Stop
    2. Prep
    3. Playing
    4. Playend
    5. Error

    備考: 再生開始後、実際に音声が出力されるまでには、タイムラグがあります。 オンメモリのデータ再生時( SetData(IntPtr, int) 関数でデータをセットした場合)は、 本関数実行後、最初にサーバー処理が実行されたタイミングでステータスが Playing に遷移します。 しかし、ストリーミング再生時は、再生を維持するために必要なデータが充分バッファリング されるまでの間、Prep を維持し続けます。 (必要充分なデータが供給された時点で、 Playing に遷移します。) 尚、ステータスが Playing に遷移するタイミングは、 あくまで"サウンドライブラリに対して再生指示を発行する"タイミングになります。 そのため、実際にスピーカーから音が出るタイミングは、各プラットフォームのサウンド ライブラリの処理時間に依存します。 ストリーミング再生時に発音が開始されるタイミングは、同時にストリーミング再生を行う 音声の数や、デバイスの読み込み速度によって変化します。 ストリーミング再生時に意図としたタイミングで発音を開始させたい場合には、 Pause(NativeBool) 関数で事前にポーズをかけておき、Atomプレーヤーのステータスが Playing に遷移した時点で、ポーズを解除してください。 (ポーズをかけた状態でステータスが Playing に遷移した場合、 ポーズ解除後最初のサーバー処理が実行されたタイミングで、発音が開始されます。

    注意: 既に再生を開始したAtomプレーヤーに対して本関数を実行することはできません。 (ADXライブラリとは異なり、再生中のAtomプレーヤーに対して再度再生の開始を指示した場合、 エラーになります。) Atomプレーヤーに対して再生を指示する場合には、必ず事前にステータスをチェックし、 ステータスが準備中( Prep )や再生中( Playing ) になっていないことをご確認ください。

    Atomプレーヤーを作成した時点では、Atomプレーヤーのステータスは停止状態 ( Stop )です。 再生する音声データをセット後、本関数を実行することで、Atomプレーヤーのステータスが 準備状態( Prep )に変更されます。 (Prep は、データ供給やデコードの開始を待っている状態です。) 再生の開始に充分なデータが供給された時点で、Atomプレーヤーはステータスを 再生状態( Playing )に変更し、音声の出力を開始します。 セットされたデータを全て再生し終えると、Atomプレーヤーはステータスを再生終了状態 ( Playend )に変更します。 尚、再生中にエラーが発生した場合には、Atomプレーヤーはステータスをエラー状態 ( Error )に変更します。 Atomプレーヤーのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。 例えば、音声の再生完了を待って処理を進めたい場合には、以下のようなコードになります。

    See Also
    SetData(IntPtr, int)
    SetFile(CriFsBinder, ArgString)
    GetStatus()
    Pause(NativeBool)
    ExecuteMain()

    Stop()

    LE Pro

    再生の停止

    Declaration
    • C#
    • C
    public void Stop()
    void CRIAPI criAtomPlayer_Stop(CriAtomPlayerHn player)
    Remarks

    説明: 再生の停止要求を発行します。 音声再生中のAtomプレーヤーに対して本関数を実行すると、Atomプレーヤーは再生を停止 (ファイルの読み込みや、発音を止める)し、ステータスを停止状態 ( Stop )に遷移します。 既に停止しているAtomプレーヤー(ステータスが Playend や Error のAtomプレーヤー) に対して本関数を実行すると、 Atomプレーヤーのステータスを Stop に変更します。

    注意: 音声再生中のAtomプレーヤーに対して本関数を実行した場合、ステータスが即座に Stop になるとは限りません。 (停止状態になるまでに、時間がかかる場合があります。) そのため、本関数で再生を停止後、続けて別の音声データを再生する場合には、 必ずステータスが Stop に遷移したことを確認してから 次のデータをセット(または再生の開始)を行ってください。

    See Also
    Start()
    GetStatus()

    Implements

    IDisposable

    See Also

    CreateAdxPlayer(in AdxPlayerConfig)
    In this article
    Back to top Generated by DocFX