CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriAtomAwb

    AWBハンドル

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

    説明: 再生データが含まれているAWBファイルのTOC情報を示すオブジェクトです。 LoadToc(CriFsBinder, ArgString) 関数で取得します。

    Fields

    WorksizeForLoadfrommemory

    オンメモリAWBハンドルの作成に必要なワーク領域サイズ

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

    説明: オンメモリAWBオブジェクトの作成に必要なワーク領域サイズです。

    See Also
    LoadFromMemory(IntPtr, int)

    Properties

    NativeHandle

    ネイティブハンドル

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

    Methods

    CalculateWorkSizeForLoadToc(int)

    LE Pro

    AWBファイルのTOC情報ロード用ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSizeForLoadToc(int num)
    CriSint32 CRIAPI criAtomAwb_CalculateWorkSizeForLoadToc(CriSint32 num)
    Parameters
    Type Name Description
    int num

    AWBファイルに含まれるコンテンツ数

    Returns
    Type Description
    int

    CriSint32 ワーク領域サイズ

    Remarks

    説明: AWBファイルのTOC情報をロードするために十分なワーク領域のサイズを取得します。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

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

    See Also
    LoadToc(CriFsBinder, ArgString)
    LoadTocAsync(CriFsBinder, ArgString)

    Dispose()

    LE Pro

    AWBハンドルの解放

    Declaration
    • C#
    • C
    public void Dispose()
    void CRIAPI criAtomAwb_Release(CriAtomAwbHn awb)
    Remarks

    説明: AWBオブジェクトを解放します。 使い終わったAWBオブジェクトは、本関数で解放してください。 解放したAWBオブジェクトは無効なオブジェクトになるので、使用しないでください。

    注意: 本関数を実行すると、指定したAWBデータを参照しているAtomプレーヤーが存在しないか、 ライブラリ内で検索処理が行われます。 そのため、本関数実行中に他スレッドでAtomプレーヤーの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。 本関数実行時にAtomプレーヤーの作成/破棄を他スレッドで行う必要がある場合、 本関数を Lock() 関数でロックしてから実行してください。 AtomExプレーヤーを使用してAWBファイルを再生する場合、 再生中に本関数でAWBオブジェクトを破棄してはいけません。 必ずAtomExプレーヤーを停止させてから本関数を実行してください。

    See Also
    LoadToc(CriFsBinder, ArgString)
    LoadTocAsync(CriFsBinder, ArgString)
    GetStatus()

    GetAwbType()

    LE Pro

    AWBハンドルの種別を示す値を取得

    Declaration
    • C#
    • C
    public CriAtomAwb.Type GetAwbType()
    CriAtomAwbType CRIAPI criAtomAwb_GetType(CriAtomAwbHn awb)
    Returns
    Type Description
    CriAtomAwb.Type

    CriAtomAwb.Type AWBオブジェクトの種別を示す値

    Remarks

    説明: AWBオブジェクトがTOC情報のみであるか、オンメモリAWBオブジェクトなのかを示す値を取得します。 本関数が失敗した場合はErrorを返します。

    See Also
    GetWaveDataInfo(int, out IntPtr, out uint)
    SetData(IntPtr, int)

    GetIdByIndex(ushort)

    LE Pro

    波形データIDの取得

    Declaration
    • C#
    • C
    public int GetIdByIndex(ushort index)
    CriSint32 CRIAPI criAtomAwb_GetIdByIndex(CriAtomAwbHn awb, CriUint16 index)
    Parameters
    Type Name Description
    ushort index

    波形インデックス

    Returns
    Type Description
    int
    Remarks

    説明: AWBオブジェクトからindexで指定した波形データIDを取得します。

    See Also
    LoadToc(CriFsBinder, ArgString)
    LoadTocAsync(CriFsBinder, ArgString)

    GetNumContents()

    LE Pro

    AWBハンドルを介してAWBファイルに含まれるコンテンツ数を取得

    Declaration
    • C#
    • C
    public ushort GetNumContents()
    CriUint16 CRIAPI criAtomAwb_GetNumContents(CriAtomAwbHn awb)
    Returns
    Type Description
    ushort

    コンテンツファイル数(0~65535)

    Remarks

    説明: AWBオブジェクトを介してAWBファイルに含まれているコンテンツ数(波形データ数)を取得します。 コンテンツファイル数の値の有効範囲は1~65535です。 エラーが発生した場合は 0 を返します。

    See Also
    LoadToc(CriFsBinder, ArgString)
    LoadFromMemory(IntPtr, int)

    GetStatus()

    LE Pro

    AWBハンドルのステータス取得

    Declaration
    • C#
    • C
    public CriAtomAwb.Status GetStatus()
    CriAtomAwbStatus CRIAPI criAtomAwb_GetStatus(CriAtomAwbHn awb)
    Returns
    Type Description
    CriAtomAwb.Status

    CriAtomAwb.Status AWBオブジェクトの状態を示す値

    Remarks

    説明: AWBオブジェクトのステータスを取得します。 本関数で取得するAWBオブジェクトのステータスは、ExecuteMain() 関数を 実行することで更新されます。

    See Also
    LoadToc(CriFsBinder, ArgString)
    LoadTocAsync(CriFsBinder, ArgString)

    GetWaveDataInfo(int, out IntPtr, out uint)

    LE Pro

    オンメモリAWBから波形データの情報を取得

    Declaration
    • C#
    • C
    public void GetWaveDataInfo(int id, out IntPtr waveDataStart, out uint size)
    void CRIAPI criAtomAwb_GetWaveDataInfo(CriAtomAwbHn awb, CriSint32 id, void **wave_data_start, CriUint32 *size)
    Parameters
    Type Name Description
    int id

    波形データID

    IntPtr waveDataStart

    波形データの先頭ポインタ(Byte)

    uint size

    波形データのサイズ(Byte)

    Remarks

    説明: オンメモリAWBからidで指定した波形データの先頭ポインタとサイズを取得します。 オンメモリAWBから波形データを再生する場合、通常はSetWaveId(CriAtomAwb, int) 関数で十分なので、そちらも参照してください。

    注意: 本関数を実行する前に、AWBオブジェクトの種別をGetAwbType() 関数で確認してください。 AWBオブジェクトの種別が異なる場合、または不正なAWBオブジェクトだった場合、本関数は失敗し、エラーコールバックが発生します。 本関数が失敗した場合、出力値であるwave_data_startとsizeの値は不定です。

    See Also
    GetAwbType()
    GetWaveFileInfo(int, out long, out uint)
    SetData(IntPtr, int)
    SetWaveId(CriAtomAwb, int)

    GetWaveFileInfo(int, out long, out uint)

    LE Pro

    AWBのTOC情報から波形データのファイル情報を取得

    Declaration
    • C#
    • C
    public bool GetWaveFileInfo(int id, out long offset, out uint size)
    CriBool CRIAPI criAtomAwb_GetWaveFileInfo(CriAtomAwbHn awb, CriSint32 id, CriSint64 *offset, CriUint32 *size)
    Parameters
    Type Name Description
    int id

    波形データID

    long offset

    波形データのオフセット(Byte)

    uint size

    波形データのサイズ(Byte)

    Returns
    Type Description
    bool

    なし

    Remarks

    説明: AWBオブジェクトからidで指定した波形データのファイルオフセットとサイズを取得します。 取得したオフセットとサイズは、AWBファイルから波形データを直接読み込む場合に使用します。

    注意: 本関数を実行する前に、AWBオブジェクトの種別をGetAwbType() 関数で確認してください。 AWBオブジェクトの種別がTocと異なる場合、または不正なAWBオブジェクトだった場合、本関数は失敗し、エラーコールバックが発生します。 本関数が失敗した場合、出力値であるoffsetとsizeの値は不定です。

    See Also
    GetAwbType()
    GetWaveDataInfo(int, out IntPtr, out uint)
    SetData(IntPtr, int)
    GetAwbType()

    IsReadyToRelease()

    LE Pro

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

    Declaration
    • C#
    • C
    public bool IsReadyToRelease()
    CriBool CRIAPI criAtomAwb_IsReadyToRelease(CriAtomAwbHn awb)
    Returns
    Type Description
    bool

    CriBool AWBの状態(true = 即時解放可能、false = 再生中のプレーヤーあり)

    Remarks

    説明: AWBオブジェクトを即座に解放可能かどうかをチェックします。 本関数が false を返すタイミングで Dispose() 関数を実行すると、 AWBオブジェクトを参照しているプレーヤーに対する停止処理が行われます。 (ストリーム再生用のAWBオブジェクトの場合、ファイル読み込み完了を待つため、 Dispose() 関数内で長時間処理がブロックされる可能性があります。)

    注意: 本関数を実行すると、指定したAWBデータを参照しているAtomプレーヤーが存在しないか、 ライブラリ内で検索処理が行われます。 そのため、本関数実行中に他スレッドでAtomプレーヤーの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。 本関数実行時にAtomプレーヤーの作成/破棄を他スレッドで行う必要がある場合、 本関数を Lock() 関数でロックしてから実行してください。

    See Also
    Dispose()

    LoadFromMemory(IntPtr, int)

    LE Pro

    オンメモリAWBハンドルの作成

    Declaration
    • C#
    • C
    public static CriAtomAwb LoadFromMemory(IntPtr awbMem, int awbMemSize)
    CriAtomAwbHn CRIAPI criAtomAwb_LoadFromMemory(void *awb_mem, CriSint32 awb_mem_size, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    IntPtr awbMem

    AWBファイルを読み込んだメモリ領域へのポインタ

    int awbMemSize

    AWBファイルサイズ

    Returns
    Type Description
    CriAtomAwb

    CriAtomAwb オンメモリAWBオブジェクト

    Remarks

    説明: メモリ上に読み込まれたAWBファイルイメージから、オンメモリAWBオブジェクトを作成します。 同じオンメモリAWBファイルイメージから複数のオンメモリAWBオブジェクトを作成することができます。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 User Allocator方式を用いる場合、ユーザがワーク領域を用意する必要はありません。 workにnull、work_sizeに0を指定するだけで、必要なメモリを登録済みのメモリ確保関数から確保します。 オンメモリAWBオブジェクト作成時に動的に確保されたメモリは、 オンメモリAWB破棄時( Dispose() 関数実行時)に解放されます。 Fixed Memor方式を用いる場合は、WorksizeForLoadfrommemory 関数を使って 必要なワーク領域サイズを求めてください。 ワーク領域とは異なり、awb_mem は必ずユーザの責任で管理する必要がある点には注意してください。

    注意: 本関数が成功すると、 awb_memで渡されたメモリ領域をオンメモリAWBデータ用に書き換えます。 そのため、複数スレッドからWorksizeForLoadfrommemory 関数を呼び出している場合は、 排他処理によりスレッドの実行順が入れ替わる場合があります。 なお、awb_mem で指すメモリ領域は Dispose() 関数実行後に手動で解放してください。

    See Also
    WorksizeForLoadfrommemory
    Dispose()

    LoadToc(CriFsBinder, ArgString)

    LE Pro

    AWBファイルのTOC情報ロード(同期版)

    Declaration
    • C#
    • C
    public static CriAtomAwb LoadToc(CriFsBinder binder, ArgString path)
    CriAtomAwbHn CRIAPI criAtomAwb_LoadToc(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ArgString path

    AWBファイル名

    Returns
    Type Description
    CriAtomAwb

    CriAtomAwb AWBオブジェクト

    Remarks

    説明: 音声再生の音源として使用するAWBファイルのTOC情報をロードします。 ロード完了まで本関数は復帰しませんので、シーンの切り替えや、 負荷変動が許容できるタイミングで実行してください。 ロードに成功すると、戻り値に有効なAWBオブジェクトが返りますので、 SetWaveId(CriAtomAwb, int) 関数に指定して使用してください。 使い終わったAWBオブジェクトは、Dispose() 関数で解放してください。 TOC情報のロードに失敗した場合はnullが返ります。

    備考: 第三引数にnull、第四引数に0を指定して実行すると、 必要なワーク領域を関数内部で動的に確保します。 動的に確保した領域は、Dispose() 関数で解放されます。

    See Also
    SetWaveId(CriAtomAwb, int)
    Dispose()
    LoadTocById(CriFsBinder, ushort)

    LoadTocAsync(CriFsBinder, ArgString)

    LE Pro

    AWBファイルのTOC情報ロード(非同期版)

    Declaration
    • C#
    • C
    public static CriAtomAwb LoadTocAsync(CriFsBinder binder, ArgString path)
    CriAtomAwbHn CRIAPI criAtomAwb_LoadTocAsync(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ArgString path

    AWBファイル名

    Returns
    Type Description
    CriAtomAwb

    CriAtomAwb AWBオブジェクト

    Remarks

    説明: 音声再生の音源として使用するAWBファイルのTOC情報をロードします。 本関数はロード要求を発行する非同期関数なので、 ロードの完了をアプリケーション側で待つ必要があります。 GetStatus() 関数でAWBオブジェクトのステータスを定期的に取得し、 ロードの完了を確認してください。 ロードの完了を待っている間はAWBオブジェクトのステータス更新のために、 定期的にExecuteMain() 関数を実行する必要があります。 ロード要求の発行に成功すると戻り値に有効なAWBオブジェクトが返ります。 ロードが正しく完了した後は、SetWaveId(CriAtomAwb, int) 関数に指定して使用してください。 使い終わったAWBオブジェクトは、Dispose() 関数で解放してください。 TOC情報のロード要求の発行に失敗した場合はnullが返ります。

    備考: 第三引数にnull、第四引数に0を指定して実行すると、 必要なワーク領域を関数内部で動的に確保します。 動的に確保した領域は、Dispose() 関数で解放されます。 本関数で取得したAWBオブジェクトのステータスがエラー状態(Error)になった場合も、 Dispose() 関数で解放してください。

    See Also
    SetWaveId(CriAtomAwb, int)
    Dispose()
    GetStatus()
    LoadTocAsyncById(CriFsBinder, ushort)

    LoadTocAsyncById(CriFsBinder, ushort)

    LE Pro

    ID指定によるAWBファイルのTOC情報ロード(非同期版)

    Declaration
    • C#
    • C
    public static CriAtomAwb LoadTocAsyncById(CriFsBinder binder, ushort id)
    CriAtomAwbHn CRIAPI criAtomAwb_LoadTocAsyncById(CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ushort id

    AWBファイルが格納されているCPKコンテンツID

    Returns
    Type Description
    CriAtomAwb

    CriAtomAwb AWBオブジェクト

    Remarks

    説明: LoadTocAsync(CriFsBinder, ArgString) 関数とほぼ同様の機能を持つ関数です。 LoadTocAsync(CriFsBinder, ArgString) 関数と異なる点は、 パス指定ではなくCPK内のコンテンツID指定でAWBファイルのTOC情報をロードする点です。

    See Also
    SetWaveId(CriAtomAwb, int)
    Dispose()
    GetStatus()
    LoadTocAsync(CriFsBinder, ArgString)

    LoadTocById(CriFsBinder, ushort)

    LE Pro

    ID指定によるAWBファイルのTOC情報ロード(同期版)

    Declaration
    • C#
    • C
    public static CriAtomAwb LoadTocById(CriFsBinder binder, ushort id)
    CriAtomAwbHn CRIAPI criAtomAwb_LoadTocById(CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriFsBinder binder

    バインダーハンドル

    ushort id

    AWBファイルが格納されているCPKコンテンツID

    Returns
    Type Description
    CriAtomAwb

    CriAtomAwb AWBオブジェクト

    Remarks

    説明: LoadToc(CriFsBinder, ArgString) 関数とほぼ同様の機能を持つ関数です。 LoadToc(CriFsBinder, ArgString) 関数と異なる点は、 パス指定ではなくCPK内のコンテンツID指定でAWBファイルのTOC情報をロードする点です。

    See Also
    SetWaveId(CriAtomAwb, int)
    Dispose()
    LoadToc(CriFsBinder, ArgString)

    Implements

    IDisposable

    See Also

    LoadToc(CriFsBinder, ArgString)
    In this article
    Back to top Generated by DocFX