CRI ADX  Last Updated: 2024-03-21 14:32 p
CriAtomExOutputPort API

データ構造

struct  CriAtomExOutputPortConfigTag
 出力ポート作成用コンフィグ構造体 [詳解]
 

マクロ定義

#define CRIATOMEX_OUTPUT_PORT_MAX_NAME_LENGTH   (64)
 出力ポートの名前の長さの最大値 [詳解]
 
#define criAtomExOutputPort_SetDefaultConfig(p_config, outputport_name)
 出力ポート作成用コンフィグ構造体にデフォルト値をセット [詳解]
 

型定義

typedef enum CriAtomExOutputPortTypeTag CriAtomExOutputPortType
 出力ポートタイプ [詳解]
 
typedef struct CriAtomExOutputPortConfigTag CriAtomExOutputPortConfig
 出力ポート作成用コンフィグ構造体 [詳解]
 
typedef CriAtomExOutputPortObj * CriAtomExOutputPortHn
 出力ポートハンドル [詳解]
 

列挙型

enum  CriAtomExOutputPortTypeTag { CRIATOMEX_OUTPUT_PORT_TYPE_AUDIO = 0 , CRIATOMEX_OUTPUT_PORT_TYPE_VIBRATION , CRIATOMEX_OUTPUT_PORT_TYPE_INVALID = -1 , CRIATOMEX_OUTPUT_PORT_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 出力ポートタイプ [詳解]
 

関数

CriSint32 criAtomExOutputPort_CalculateWorkSize (const CriAtomExOutputPortConfig *config)
 出力ポートハンドル作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExOutputPortHn criAtomExOutputPort_Create (const CriAtomExOutputPortConfig *config, void *work, CriSint32 work_size)
 出力ポートハンドルの作成 [詳解]
 
CriBool criAtomExOutputPort_IsDestroyable (CriAtomExOutputPortHn output_port)
 出力ポートハンドルの破棄可能の判定 [詳解]
 
void criAtomExOutputPort_Destroy (CriAtomExOutputPortHn output_port)
 出力ポートハンドルの破棄 [詳解]
 
void criAtomExOutputPort_SetAsrRackId (CriAtomExOutputPortHn output_port, CriAtomExAsrRackId rack_id)
 ASRラックIDの指定 [詳解]
 
void criAtomExOutputPort_SetVibrationChannelLevel (CriAtomExOutputPortHn output_port, CriSint32 channel, CriFloat32 level)
 振動タイプの出力ポートのチャンネルレベルの設定 [詳解]
 
void criAtomExOutputPort_SetMonauralMix (CriAtomExOutputPortHn output_port, CriBool monaural_mix)
 振動タイプの出力ポートのモノラルミックス有無設定 [詳解]
 
void criAtomExOutputPort_IgnoreCategoryParametersById (CriAtomExOutputPortHn output_port_hn, CriAtomExCategoryId category_id, CriBool ignore_parameters)
 出力ポートが指定カテゴリのパラメータを無視するかの設定 [詳解]
 
void criAtomExOutputPort_ResetIgnoreCategory (CriAtomExOutputPortHn output_port_hn)
 出力ポートに設定した指定カテゴリのパラメータを無視する設定をリセット [詳解]
 

詳解

マクロ定義詳解

◆ CRIATOMEX_OUTPUT_PORT_MAX_NAME_LENGTH

#define CRIATOMEX_OUTPUT_PORT_MAX_NAME_LENGTH   (64)

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

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

◆ criAtomExOutputPort_SetDefaultConfig

#define criAtomExOutputPort_SetDefaultConfig (   p_config,
  outputport_name 
)
値:
{\
(p_config)->name = outputport_name;\
(p_config)->type = CRIATOMEX_OUTPUT_PORT_TYPE_AUDIO;\
(p_config)->max_ignored_categories = 4;\
}
@ CRIATOMEX_OUTPUT_PORT_TYPE_AUDIO
サウンドタイプ
Definition: cri_atom_ex.h:5613

出力ポート作成用コンフィグ構造体にデフォルト値をセット

引数
[in]outputport_name出力ポート名
[out]p_config出力ポート作成用コンフィグ構造体へのポインタ
説明:
criAtomExOutputPort_Create 関数に設定するコンフィグ構造体 ( CriAtomExOutputPortConfig )に、デフォルトの値をセットします。
参照
CriAtomExOutputPortConfig, criAtomExOutputPort_Create

型定義詳解

◆ CriAtomExOutputPortType

出力ポートタイプ

説明:
出力ポートの種別を示す値です。
参照
CriAtomExOutputPortConfig

◆ CriAtomExOutputPortConfig

出力ポート作成用コンフィグ構造体

説明:
出力ポートを作成するための構造体です。
criAtomExOutputPort_Create 関数の引数に指定します。
参照
criAtomExOutputPort_Create

◆ CriAtomExOutputPortHn

typedef CriAtomExOutputPortObj* CriAtomExOutputPortHn

出力ポートハンドル

説明:
CriAtomExOutputPortHn は、音声の出力先を指定するためのハンドルです。

出力ポートハンドルは、以下の2つの関数で取得することができます。
備考:
出力ポートは、音声の出力先を抽象化した概念です。

音声トラックに予め出力先の名前を指定すると、再生するとき自動的に同じ名前の出力ポートハンドルが割り当てられます。 出力ポートはASRラックと紐付けられており、出力ポートハンドルが割り当てられた音声は、そのASRラックを介して再生されます。
そのため、ACF内の出力ポートハンドルを含め、全ての出力ポートハンドルは使用する前に必ず criAtomExOutputPort_SetAsrRackId 関数で適切なASRラックと紐付ける必要があります。
参照
criAtomExOutputPort_Create, criAtomExAcf_GetOutputPortHnByName, criAtomExOutputPort_SetAsrRackId

列挙型詳解

◆ CriAtomExOutputPortTypeTag

出力ポートタイプ

説明:
出力ポートの種別を示す値です。
参照
CriAtomExOutputPortConfig
列挙値
CRIATOMEX_OUTPUT_PORT_TYPE_AUDIO 

サウンドタイプ

説明:
通常の音声を再生する出力ポートタイプです。
CRIATOMEX_OUTPUT_PORT_TYPE_VIBRATION 

振動タイプ

説明:
オーディオベースの振動を再生する出力ポートタイプです。
CRIATOMEX_OUTPUT_PORT_TYPE_INVALID 

振動タイプ

説明:
不正なタイプです。関数の返り値がエラーのとき使用されます。

関数詳解

◆ criAtomExOutputPort_CalculateWorkSize()

CriSint32 criAtomExOutputPort_CalculateWorkSize ( const CriAtomExOutputPortConfig config)

出力ポートハンドル作成用ワーク領域サイズの計算

引数
[in]config出力ポートハンドル作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
出力ポートハンドルの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExOutputPort_Create 関数で出力ポートハンドルを作成する際には、 criAtomExOutputPort_Create 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
CriAtomExOutputPortConfig::name に指定する出力ポート名の長さは、 CRIATOMEX_OUTPUT_PORT_MAX_NAME_LENGTH 以下である必要があります。
参照
criAtomExOutputPort_Create

◆ criAtomExOutputPort_Create()

CriAtomExOutputPortHn criAtomExOutputPort_Create ( const CriAtomExOutputPortConfig config,
void *  work,
CriSint32  work_size 
)

出力ポートハンドルの作成

引数
[in]configASR初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExOutputPortHn 出力ポートハンドル
説明:
出力ポートハンドルの作成を行います。
出力ポートはASRラックと紐付けられ、出力ポートが指定されたボイスはその出力ポートに紐付けられた ASRラックにて再生されるようになります。
備考:
ACFファイルに設定された出力ポートハンドルは criAtomEx_RegisterAcfFile 関数などを用いて ACFファイルを登録したとき、ACF内に自動的に作成されるため、 本関数で新たに作成する必要はありません。
ACF内の出力ポートハンドルは criAtomExAcf_GetOutputPortHnByName 関数で取得できます。
そのため、本関数はアプリケーション上で新たに出力ポートハンドルが必要になった場合に使用してください。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
出力ポートハンドルの生成に成功した場合は、本関数は生成した出力ポートハンドルを返します。 生成に失敗した場合は NULL を返します。
注意
本関数で作成された出力ポートハンドルには、::CriAtomExOutputPortConfig::type で指定したタイプによって 以下のASRラックIDが初期値としてセットされています。
  • CRIATOMEX_OUTPUT_PORT_TYPE_AUDIO を指定:CRIATOMEXASR_RACK_DEFAULT_ID
  • CRIATOMEX_OUTPUT_PORT_TYPE_VIBRATION を指定:CRIATOMEXASR_RACK_ILLEGAL_ID
出力ポートハンドルを使用する前に、必ず criAtomExOutputPort_SetAsrRackId 関数で適切なASRラックを設定してください。
参照
criAtomExOutputPort_Destroy, criAtomExAcf_GetOutputPortHnByName, criAtomExPlayer_AddOutputPort, criAtomExPlayer_AddPreferredOutputPort

◆ criAtomExOutputPort_IsDestroyable()

CriBool criAtomExOutputPort_IsDestroyable ( CriAtomExOutputPortHn  output_port)

出力ポートハンドルの破棄可能の判定

引数
[in]output_port出力ポートハンドル
戻り値
CriBool 破棄可能か?(CRI_TRUE = 可能, CRI_FALSE = 不可能)
説明:
出力ポートハンドルの破棄が可能か判定します。
備考:
criAtomExPlayer_AddOutputPort 関数または criAtomExPlayer_AddPreferredOutputPort 関数を使用して プレーヤーに追加中の出力ポートハンドルは破棄することができません。
criAtomExPlayer_RemoveOutputPort 関数または criAtomExPlayer_RemovePreferredOutputPort 関数を使用して プレーヤーから取り外してから破棄してください。
また、ACFファイルの情報から作成されたACF内の出力ポートハンドルは破棄することができません。
参照
criAtomExOutputPort_Destroy

◆ criAtomExOutputPort_Destroy()

void criAtomExOutputPort_Destroy ( CriAtomExOutputPortHn  output_port)

出力ポートハンドルの破棄

引数
[in]output_port出力ポートハンドル
説明:
出力ポートハンドルの破棄を行います。
備考:
criAtomExOutputPort_IsDestroyable 関数を使用することでハンドルが破棄できるか調べることができます。
参照
criAtomExOutputPort_Create, criAtomExOutputPort_IsDestroyable

◆ criAtomExOutputPort_SetAsrRackId()

void criAtomExOutputPort_SetAsrRackId ( CriAtomExOutputPortHn  output_port,
CriAtomExAsrRackId  rack_id 
)

ASRラックIDの指定

引数
[in]output_port出力ポートハンドル
[in]rack_idASRラックID
説明:
出力ポートにASRラック指定します。
出力ポートが指定されたボイスは、その出力ポートに指定されているASRラックで再生されます。
備考:
ACFファイル登録時に作成された出力ポートハンドルや criAtomExOutputPort_Create 関数で作成された 出力ポートハンドルには、必ず本関数で適切なASRラックを指定する必要があります。
出力ポートのタイプなどによって、指定できるASRラックに制限がある場合があります。 詳細に関しましてはマニュアルを参照してください。
注意
本関数で出力ポートのASRラックIDを変更しても、既に再生されている音声には影響しません。
参照
criAtomExOutputPort_Create, criAtomExAcf_GetOutputPortHnByName

◆ criAtomExOutputPort_SetVibrationChannelLevel()

void criAtomExOutputPort_SetVibrationChannelLevel ( CriAtomExOutputPortHn  output_port,
CriSint32  channel,
CriFloat32  level 
)

振動タイプの出力ポートのチャンネルレベルの設定

引数
[in]output_port出力ポートハンドル
[in]channelチャンネルインデックス(0 = L, 1 = R)
[in]levelレベル(0 ~ 2.0)
説明:
振動タイプの出力ポートに対し、振動デバイスの各チャンネルへの出力レベルを設定します。
備考:
振動タイプの出力ポートは2チャンネルで動作しており、最終出力デバイスがモノラルの場合-3dBのダウンミックスが適用されます。 この関数で設定した値は、音が再生中でも即時反映されます。
参照
criAtomExOutputPort_SetMonauralMix

◆ criAtomExOutputPort_SetMonauralMix()

void criAtomExOutputPort_SetMonauralMix ( CriAtomExOutputPortHn  output_port,
CriBool  monaural_mix 
)

振動タイプの出力ポートのモノラルミックス有無設定

引数
[in]output_port出力ポートハンドル
[in]monaural_mixモノラルミックス有無(CRI_TRUE = 有効, CRI_FALSE = 無効)
説明:
振動タイプの出力ポートは2チャンネルで動作するため、入力されるボイスがステレオ以上の音声データか、 3Dパンが設定されている場合、その結果が振動デバイスの左右に伝わります。 モノラルミックスを有効にすると、振動デバイスへ出力する前に一度モノラルにダウンミックスを行うことでそれらの影響をなくすことができます。 criAtomExOutputPort_SetVibrationChannelLevel 関数を使用して、モノラルミックス後振動デバイスへ送られるレベルを設定することも可能です。
備考:
この関数で設定した値は、音が再生中でも即時反映されます。
参照
criAtomExOutputPort_SetVibrationChannelLevel

◆ criAtomExOutputPort_IgnoreCategoryParametersById()

void criAtomExOutputPort_IgnoreCategoryParametersById ( CriAtomExOutputPortHn  output_port_hn,
CriAtomExCategoryId  category_id,
CriBool  ignore_parameters 
)

出力ポートが指定カテゴリのパラメータを無視するかの設定

引数
[in]output_port_hn出力ポートハンドル
[in]category_idカテゴリID
[in]ignore_parameters無視設定パラメータ (CRI_TRUE:無視する, CRI_FALSE:無視しない)
説明:
出力ポートに対して指定したカテゴリIDのパラメータを無視するかを設定します。
備考:
出力ポートに対して指定したカテゴリIDのパラメータを無視させることでカテゴリの影響をなくすことができます。 同じカテゴリIDを指定して、カテゴリを無視する・無視しないを変更することも可能です。
設定できるカテゴリは最大4つまでです。4つ設定している状態でこの関数を実行すると警告が発生し、処理は行われません。
備考:
この関数で設定は再生時に反映されます。
参照
criAtomExOutputPort_Create, criAtomExAcf_GetOutputPortHnByName

◆ criAtomExOutputPort_ResetIgnoreCategory()

void criAtomExOutputPort_ResetIgnoreCategory ( CriAtomExOutputPortHn  output_port_hn)

出力ポートに設定した指定カテゴリのパラメータを無視する設定をリセット

引数
[in]output_port_hn出力ポートハンドル
説明:
出力ポートに設定した指定カテゴリのパラメータを無視する設定をリセットします。
備考:
出力ポートに対して指定したカテゴリIDのパラメータを無視する設定をすべてリセットします。
設定されているカテゴリの数もリセットされるため新たにカテゴリを指定してカテゴリのパラメータを無視する設定を行えます。
備考:
この関数で設定は再生時に反映されます。
参照
criAtomExOutputPort_Create, criAtomExOutputPort_IgnoreCategoryParametersById