#define CRIATOMPLAYER_NO_LOOP_LIMITATION (-1) |
ループ回数制御用
#define criAtomPlayer_SetDefaultConfigForStandardPlayer | ( | p_config | ) |
値:
{\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->streaming_flag = CRI_FALSE;\ (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\ (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\ (p_config)->context = NULL;\ }
[out] | p_config | 標準プレーヤー作成用コンフィグ構造体へのポインタ |
#define criAtomPlayer_SetDefaultConfigForAdxPlayer | ( | p_config | ) |
値:
{\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->streaming_flag = CRI_FALSE;\ (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\ (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\ (p_config)->context = NULL;\ }
[out] | p_config | ADXプレーヤー作成用コンフィグ構造体へのポインタ |
#define criAtomPlayer_SetDefaultConfigForHcaPlayer | ( | p_config | ) |
値:
{\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->streaming_flag = CRI_FALSE;\ (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\ (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\ (p_config)->context = NULL;\ }
[out] | p_config | HCAプレーヤー作成用コンフィグ構造体へのポインタ |
#define criAtomPlayer_SetDefaultConfigForHcaMxPlayer | ( | p_config | ) |
値:
{\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->streaming_flag = CRI_FALSE;\ }
[out] | p_config | HCA-MXプレーヤー作成用コンフィグ構造体へのポインタ |
#define criAtomPlayer_SetDefaultConfigForWavePlayer | ( | p_config | ) |
値:
{\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->streaming_flag = CRI_FALSE;\ (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\ (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\ (p_config)->context = NULL;\ }
[out] | p_config | WAVEプレーヤー作成用コンフィグ構造体へのポインタ |
#define criAtomPlayer_SetDefaultConfigForAiffPlayer | ( | p_config | ) |
値:
{\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->streaming_flag = CRI_FALSE;\ (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\ (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\ (p_config)->context = NULL;\ }
[out] | p_config | AIFFプレーヤー作成用コンフィグ構造体へのポインタ |
#define criAtomPlayer_SetDefaultConfigForRawPcmPlayer | ( | p_config | ) |
値:
{\ (p_config)->pcm_format = CRIATOM_PCM_FORMAT_SINT16;\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\ (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\ (p_config)->context = NULL;\ }
[out] | p_config | RawPCMプレーヤー作成用コンフィグ構造体へのポインタ |
#define criAtomPlayer_SetDefaultConfigForInstrumentPlayer | ( | p_config | ) |
値:
{\ (p_config)->interface_name = "";\ (p_config)->instrument_name = "";\ (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\ (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\ (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\ }
[out] | p_config | インストゥルメントプレーヤー作成用コンフィグ構造体へのポインタ |
typedef enum CriAtomParameterIdTag CriAtomParameterId |
パラメーターID
typedef struct CriAtomStandardPlayerConfigTag CriAtomStandardPlayerConfig |
標準プレーヤー作成用コンフィグ構造体
typedef struct CriAtomAdxPlayerConfigTag CriAtomAdxPlayerConfig |
ADXプレーヤー作成用コンフィグ構造体
typedef struct CriAtomHcaPlayerConfigTag CriAtomHcaPlayerConfig |
HCAプレーヤー作成用コンフィグ構造体
typedef struct CriAtomHcaMxPlayerConfigTag CriAtomHcaMxPlayerConfig |
HCA-MXプレーヤー作成用コンフィグ構造体
typedef struct CriAtomWavePlayerConfigTag CriAtomWavePlayerConfig |
WAVEプレーヤー作成用コンフィグ構造体
typedef struct CriAtomAiffPlayerConfigTag CriAtomAiffPlayerConfig |
AIFFプレーヤー作成用コンフィグ構造体
typedef struct CriAtomRawPcmPlayerConfigTag CriAtomRawPcmPlayerConfig |
RawPCMプレーヤー作成用コンフィグ構造体
typedef struct CriAtomInstrumentPlayerConfigTag CriAtomInstrumentPlayerConfig |
インストゥルメントプレーヤー作成用コンフィグ構造体
typedef enum CriAtomPlayerStatusTag CriAtomPlayerStatus |
再生ステータス
typedef struct CriAtomPlayerTag* CriAtomPlayerHn |
Atomプレーヤーハンドル
typedef void(CRIAPI *) CriAtomPlayerDataRequestCbFunc(void *obj, CriAtomPlayerHn player) |
データ要求コールバック関数
[in] | obj | ユーザ指定オブジェクト |
[in] | player | Atomプレーヤーハンドル |
typedef void(CRIAPI *) CriAtomPlayerStatusChangeCbFunc(void *obj, CriAtomPlayerHn player) |
ステータス変更コールバック関数
[in] | obj | ユーザ指定オブジェクト |
[in] | player | Atomプレーヤーハンドル |
typedef void(CRIAPI *) CriAtomPlayerParameterChangeCbFunc(void *obj, CriAtomPlayerHn player, CriAtomParameterId id, CriFloat32 value) |
パラメーター変更コールバック関数
[in] | obj | ユーザ指定オブジェクト |
[in] | player | Atomプレーヤーハンドル |
[in] | id | パラメーターID |
[in] | value | パラメーター値 |
typedef void(CRIAPI *) CriAtomPlayerFilterCbFunc(void *obj, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[]) |
波形フィルターコールバック関数
[in] | obj | ユーザ指定オブジェクト |
[in] | format | PCMの形式 |
[in] | num_channels | チャンネル数 |
[in] | num_samples | サンプル数 |
[in,out] | data | PCMデータのチャンネル配列 |
typedef void(CRIAPI *) CriAtomPlayerLoadRequestCbFunc(void *obj, CriFsBinderHn binder, const CriChar8 *path, CriSint64 offset, CriSint64 length) |
ロード要求コールバック関数
[in] | obj | ユーザ指定オブジェクト |
[in] | binder | ファイルロード先バインダー |
[in] | path | ファイルパス |
[in] | offset | ロード開始位置 |
[in] | length | ロード要求サイズ |
typedef struct CriAtomStreamingCacheConfigTag CriAtomStreamingCacheConfig |
ストリーミングキャッシュ作成用コンフィグ構造体
再生ステータス
CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForStandardPlayer | ( | const CriAtomStandardPlayerConfig * | config | ) |
標準プレーヤー作成用ワーク領域サイズの計算
[in] | config | 標準プレーヤー作成用コンフィグ構造体 |
0以上 | 正常に処理が完了 | |
-1 | エラーが発生 |
CriAtomPlayerHn CRIAPI criAtomPlayer_CreateStandardPlayer | ( | const CriAtomStandardPlayerConfig * | config, | |
void * | work, | |||
CriSint32 | work_size | |||
) |
標準プレーヤーの作成
[in] | config | 標準プレーヤー作成用コンフィグ構造体 |
[in] | work | ワーク領域 |
[in] | work_size | ワーク領域サイズ |
// 独自のメモリ確保関数 void *user_malloc(void *obj, CriUint32 size) { void *mem; // メモリの確保 mem = malloc(size); return (mem); } // 独自のメモリ解放関数を用意 void user_free(void *obj, void *mem) { // メモリの解放 free(mem); return; } main() { CriAtomStandardPlayerConfig config; // 標準プレーヤー作成用コンフィグ構造体 CriAtomPlayerHn player; // Atomプレーヤーハンドル : // 独自のメモリ確保関数を登録 criAtom_SetUserMallocFunction(user_malloc, NULL); // 独自のメモリ解放関数を登録 criAtom_SetUserFreeFunction(user_free, NULL); // 標準プレーヤー作成用コンフィグ構造体を設定 memset(&config, 0, sizeof(config)); config.max_channels = 2; // ステレオ再生可能なプレーヤーを作成する config.max_sampling_rate = 48000; // 最大で48000Hzの音声を再生する // 標準プレーヤーの作成 // ワーク領域にはNULLと0を指定する。 // →必要なメモリは、登録したメモリ確保関数を使って確保される。 player = criAtomPlayer_CreateStandardPlayer(&config, NULL, 0); : // 音声再生処理 : // 標準プレーヤーが不要になった時点で破棄 // →標準プレーヤー作成時にライブラリ内で確保されたメモリが解放される。 criAtomPlayer_Destroy(player); : }
main() { CriAtomStandardPlayerConfig config; // 標準プレーヤー作成用コンフィグ構造体 CriAtomPlayerHn player; // Atomプレーヤーハンドル void *work; // ワーク領域アドレス CriSint32 work_size; // ワーク領域サイズ : // 標準プレーヤー作成用コンフィグ構造体を設定 memset(&config, 0, sizeof(config)); config.max_channels = 2; // ステレオ再生可能なプレーヤーを作成する config.max_sampling_rate = 48000; // 最大で48000Hzの音声を再生する // 標準プレーヤーの作成に必要なワーク領域のサイズを計算 work_size = criAtomPlayer_CalculateWorkSizeForStandardPlayer(&config); // ワーク領域用にメモリを確保 work = malloc((size_t)work_size); // 標準プレーヤーの作成 // ワーク領域にはNULLと0を指定する。 // →確保済みのワーク領域を指定する。 player = criAtomPlayer_CreateStandardPlayer(&config, work, work_size); : // 音声再生処理 // →この間、確保したメモリは保持し続ける。 : // 標準プレーヤーが不要になった時点で破棄 criAtomPlayer_Destroy(player); // 必要なくなったワーク領域を解放する free(work); : }
CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAdxPlayer | ( | const CriAtomAdxPlayerConfig * | config | ) |
ADXプレーヤー作成用ワーク領域サイズの計算
[in] | config | ADXプレーヤー作成用コンフィグ構造体 |
0以上 | 正常に処理が完了 | |
-1 | エラーが発生 |
CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAdxPlayer | ( | const CriAtomAdxPlayerConfig * | config, | |
void * | work, | |||
CriSint32 | work_size | |||
) |
ADXプレーヤーの作成
[in] | config | ADXプレーヤー作成用コンフィグ構造体 |
[in] | work | ワーク領域 |
[in] | work_size | ワーク領域サイズ |
// 独自のメモリ確保関数 void *user_malloc(void *obj, CriUint32 size) { void *mem; // メモリの確保 mem = malloc(size); return (mem); } // 独自のメモリ解放関数を用意 void user_free(void *obj, void *mem) { // メモリの解放 free(mem); return; } main() { CriAtomAdxPlayerConfig config; // ADXプレーヤー作成用コンフィグ構造体 CriAtomPlayerHn player; // Atomプレーヤーハンドル : // 独自のメモリ確保関数を登録 criAtom_SetUserMallocFunction(user_malloc, NULL); // 独自のメモリ解放関数を登録 criAtom_SetUserFreeFunction(user_free, NULL); // ADXプレーヤー作成用コンフィグ構造体を設定 memset(&config, 0, sizeof(config)); config.max_channels = 2; // ステレオ再生可能なプレーヤーを作成する config.max_sampling_rate = 48000; // 最大で48000Hzの音声を再生する // ADXプレーヤーの作成 // ワーク領域にはNULLと0を指定する。 // →必要なメモリは、登録したメモリ確保関数を使って確保される。 player = criAtomPlayer_CreateAdxPlayer(&config, NULL, 0); : // 音声再生処理 : // ADXプレーヤーが不要になった時点で破棄 // →ADXプレーヤー作成時にライブラリ内で確保されたメモリが解放される。 criAtomPlayer_Destroy(player); : }
main() { CriAtomAdxPlayerConfig config; // ADXプレーヤー作成用コンフィグ構造体 CriAtomPlayerHn player; // Atomプレーヤーハンドル void *work; // ワーク領域アドレス CriSint32 work_size; // ワーク領域サイズ : // ADXプレーヤー作成用コンフィグ構造体を設定 memset(&config, 0, sizeof(config)); config.max_channels = 2; // ステレオ再生可能なプレーヤーを作成する config.max_sampling_rate = 48000; // 最大で48000Hzの音声を再生する // ADXプレーヤーの作成に必要なワーク領域のサイズを計算 work_size = criAtomPlayer_CalculateWorkSizeForAdxPlayer(&config); // ワーク領域用にメモリを確保 work = malloc((size_t)work_size); // ADXプレーヤーの作成 // ワーク領域にはNULLと0を指定する。 // →確保済みのワーク領域を指定する。 player = criAtomPlayer_CreateAdxPlayer(&config, work, work_size); : // 音声再生処理 // →この間、確保したメモリは保持し続ける。 : // ADXプレーヤーが不要になった時点で破棄 criAtomPlayer_Destroy(player); // 必要なくなったワーク領域を解放する free(work); : }
CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaPlayer | ( | const CriAtomHcaPlayerConfig * | config | ) |
HCAプレーヤー作成用ワーク領域サイズの計算
[in] | config | HCAプレーヤー作成用コンフィグ構造体 |
0以上 | 正常に処理が完了 | |
-1 | エラーが発生 |
CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaPlayer | ( | const CriAtomHcaPlayerConfig * | config, | |
void * | work, | |||
CriSint32 | work_size | |||
) |
HCAプレーヤーの作成
[in] | config | HCAプレーヤー作成用コンフィグ構造体 |
[in] | work | ワーク領域 |
[in] | work_size | ワーク領域サイズ |
CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaMxPlayer | ( | const CriAtomHcaMxPlayerConfig * | config | ) |
HCA-MXプレーヤー作成用ワーク領域サイズの計算
[in] | config | HCA-MXプレーヤー作成用コンフィグ構造体 |
0以上 | 正常に処理が完了 | |
-1 | エラーが発生 |
CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaMxPlayer | ( | const CriAtomHcaMxPlayerConfig * | config, | |
void * | work, | |||
CriSint32 | work_size | |||
) |
HCA-MXプレーヤーの作成
[in] | config | HCA-MXプレーヤー作成用コンフィグ構造体 |
[in] | work | ワーク領域 |
[in] | work_size | ワーク領域サイズ |
CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForWavePlayer | ( | const CriAtomWavePlayerConfig * | config | ) |
WAVEプレーヤー作成用ワーク領域サイズの計算
[in] | config | WAVEプレーヤー作成用コンフィグ構造体 |
0以上 | 正常に処理が完了 | |
-1 | エラーが発生 |
CriAtomPlayerHn CRIAPI criAtomPlayer_CreateWavePlayer | ( | const CriAtomWavePlayerConfig * | config, | |
void * | work, | |||
CriSint32 | work_size | |||
) |
WAVEプレーヤーの作成
[in] | config | WAVEプレーヤー作成用コンフィグ構造体 |
[in] | work | ワーク領域 |
[in] | work_size | ワーク領域サイズ |
CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAiffPlayer | ( | const CriAtomAiffPlayerConfig * | config | ) |
AIFFプレーヤー作成用ワーク領域サイズの計算
[in] | config | AIFFプレーヤー作成用コンフィグ構造体 |
0以上 | 正常に処理が完了 | |
-1 | エラーが発生 |
CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAiffPlayer | ( | const CriAtomAiffPlayerConfig * | config, | |
void * | work, | |||
CriSint32 | work_size | |||
) |
AIFFプレーヤーの作成
[in] | config | AIFFプレーヤー作成用コンフィグ構造体 |
[in] | work | ワーク領域 |
[in] | work_size | ワーク領域サイズ |
CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForRawPcmPlayer | ( | const CriAtomRawPcmPlayerConfig * | config | ) |
RawPCMプレーヤー作成用ワーク領域サイズの計算
[in] | config | RawPCMプレーヤー作成用コンフィグ構造体 |
0以上 | 正常に処理が完了 | |
-1 | エラーが発生 |
CriAtomPlayerHn CRIAPI criAtomPlayer_CreateRawPcmPlayer | ( | const CriAtomRawPcmPlayerConfig * | config, | |
void * | work, | |||
CriSint32 | work_size | |||
) |
RawPCMプレーヤーの作成
[in] | config | RawPCMプレーヤー作成用コンフィグ構造体 |
[in] | work | ワーク領域 |
[in] | work_size | ワーク領域サイズ |
void CRIAPI criAtomPlayer_Destroy | ( | CriAtomPlayerHn | player | ) |
Atomプレーヤーの破棄
[in] | player | Atomプレーヤーハンドル |
void CRIAPI criAtomPlayer_SetData | ( | CriAtomPlayerHn | player, | |
void * | buffer, | |||
CriSint32 | buffer_size | |||
) |
音声データのセット(オンメモリデータの指定)
[in] | player | Atomプレーヤーハンドル |
[in] | buffer | バッファーアドレス |
[in] | buffer_size | バッファーサイズ |
main() { : // 音声データをセット criAtomPlayer_SetData(player, buffer, buffer_size); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
// データ要求コールバック関数 void on_data_request(void *obj, CriAtomPlayerHn player) { // 続けて再生するデータをセット criAtomPlayer_SetData(player, buffer2, buffer_size2); } main() { : // データ要求コールバック関数の登録 criAtomPlayer_SetDataRequestCallback(player, on_data_request, NULL); // 音声データをセット criAtomPlayer_SetData(player, buffer1, buffer_size1); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_SetFile | ( | CriAtomPlayerHn | player, | |
CriFsBinderHn | binder, | |||
const CriChar8 * | path | |||
) |
音声データのセット(ファイルの指定)
[in] | player | Atomプレーヤーハンドル |
[in] | binder | バインダーハンドル |
[in] | path | ファイルパス |
main() { : // 音声ファイルをセット criAtomPlayer_SetFile(player, NULL, "sample.adx"); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
// データ要求コールバック関数 void on_data_request(void *obj, CriAtomPlayerHn player) { // 続けて再生するファイルをセット criAtomPlayer_SetFile(player, NULL, "sample2.adx"); } main() { : // データ要求コールバック関数の登録 criAtomPlayer_SetDataRequestCallback(player, on_data_request, NULL); // 音声ファイルをセット criAtomPlayer_SetFile(player, NULL, "sample1.adx"); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
main() { : // CPKファイルをバインド criFsBinder_BindCpk(binder, "sample.cpk", work, work_size, &bind_id); // バインド完了待ち for (;;) { // ステータスのチェック criFsBinder_GetStatus(binder, &status); if (status == CRIFSBINDER_STATUS_COMPLETE) { break; } // サーバー処理の実行 criFs_ExecuteMain(); // Vsync待ち等 : } : // 音声ファイルをセット // sample.cpk内のcontent.adxをセット criAtomPlayer_SetFile(player, binder, "content.adx"); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_SetContentId | ( | CriAtomPlayerHn | player, | |
CriFsBinderHn | binder, | |||
CriSint32 | id | |||
) |
音声データのセット(CPKコンテンツIDの指定)
[in] | player | Atomプレーヤーハンドル |
[in] | binder | バインダーハンドル |
[in] | id | コンテンツID |
main() { : // CPKファイルをバインド criFsBinder_BindCpk(binder, "sample.cpk", work, work_size, &bind_id); // バインド完了待ち for (;;) { // ステータスのチェック criFsBinder_GetStatus(binder, &status); if (status == CRIFSBINDER_STATUS_COMPLETE) { break; } // サーバー処理の実行 criFs_ExecuteMain(); // Vsync待ち等 : } : // 音声ファイルをセット // sample.cpk内の1番のコンテンツをセット criAtomPlayer_SetContentId(player, binder, 1); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
// データ要求コールバック関数 void on_data_request(void *obj, CriAtomPlayerHn player) { // バインダーの取得 binder = (CriFsBinderHn)obj; // 続けて再生するファイルをセット // →バインダー内の2番のコンテンツをセット criAtomPlayer_SetContentId(player, binder, 2); } main() { : // データ要求コールバック関数の登録 criAtomPlayer_SetDataRequestCallback(player, on_data_request, binder); // 音声ファイルをセット // →バインダー内の1番のコンテンツをセット criAtomPlayer_SetContentId(player, binder, 1); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_SetWaveId | ( | CriAtomPlayerHn | player, | |
CriAtomAwbHn | awb, | |||
CriSint32 | id | |||
) |
音声データのセット(音声データIDの指定)
[in] | player | Atomプレーヤーハンドル |
[in] | awb | AWBハンドル |
[in] | id | 波形データID |
main() { : // AWBのTOC情報をロードしてAWBハンドルを作成 awb = criAtomAwb_LoadToc(NULL, "sample.awb", NULL, 0); : // 波形データをセット // AWB内の1番の波形データをセット criAtomPlayer_SetWaveId(player, awb, 1); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
// データ要求コールバック関数 void on_data_request(void *obj, CriAtomPlayerHn player) { // AWBハンドルの取得 awb = (CriAtomAwbHn)obj; // 続けて再生するファイルをセット // →AWB内の2番の波形データをセット criAtomPlayer_SetWaveId(player, awb, 2); } main() { : // データ要求コールバック関数の登録 criAtomPlayer_SetDataRequestCallback(player, on_data_request, awb); // 波形データをセット // →AWB内の1番の波形データをセット criAtomPlayer_SetWaveId(player, awb, 1); // セットされた波形データを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_SetPreviousDataAgain | ( | CriAtomPlayerHn | player | ) |
同一音声データの再セット
[in] | player | Atomプレーヤーハンドル |
// データ要求コールバック関数 void on_data_request(void *obj, CriAtomPlayerHn player) { // 前回再生したデータを再セット criAtomPlayer_SetPreviousDataAgain(player); } main() { : // データ要求コールバック関数の登録 criAtomPlayer_SetDataRequestCallback(player, on_data_request, NULL); // 音声データをセット criAtomPlayer_SetData(player, buffer, buffer_size); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_DeferCallback | ( | CriAtomPlayerHn | player | ) |
コールバック関数の再実行要求
[in] | player | Atomプレーヤーハンドル |
void CRIAPI criAtomPlayer_Start | ( | CriAtomPlayerHn | player | ) |
再生の開始
[in] | player | Atomプレーヤーハンドル |
main() { : // 音声データをセット criAtomPlayer_SetData(player, buffer, buffer_size); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
main() { : // 音声データをセット criAtomPlayer_SetData(player, buffer, buffer_size); // セットされた音声データを再生 criAtomPlayer_Start(player); // 再生完了待ち for (;;) { // ステータスの取得 status = criAtomPlayer_GetStatus(player); // ステータスのチェック if (status == CRIATOMPLAYER_STATUS_PLAYEND) { // 再生終了時はループを抜ける break; } // サーバー処理の実行 criAtom_ExecuteMain(); // 画面表示の更新等 : } : }
main() { : // 音声ファイルをセット criAtomPlayer_SetData(player, NULL, "sample.adx"); // 再生開始前にポーズをかけておく criAtomPlayer_Pause(player, CRI_TRUE); // セットされた音声データを再生 criAtomPlayer_Start(player); // ステータスがCRIATOMPLAYER_STATUS_PLAYINGに遷移するのを待つ for (;;) { // ステータスの取得 status = criAtomPlayer_GetStatus(player); // ステータスのチェック if (status == CRIATOMPLAYER_STATUS_PLAYING) { // CRIATOMPLAYER_STATUS_PLAYING状態になった時点でループを抜ける break; } // サーバー処理の実行 criAtom_ExecuteMain(); // 画面表示の更新等 : } // ポーズの解除 // →次のサーバー処理が実行されるタイミングで発音が開始される criAtomPlayer_Pause(player, CRI_FALSE); : }
void CRIAPI criAtomPlayer_Stop | ( | CriAtomPlayerHn | player | ) |
再生の停止
[in] | player | Atomプレーヤーハンドル |
main() { : // 再生の停止を要求 criAtomPlayer_Stop(player); // ステータスがCRIATOMPLAYER_STATUS_STOPに遷移するのを待つ for (;;) { // ステータスの取得 status = criAtomPlayer_GetStatus(player); // ステータスのチェック if (status == CRIATOMPLAYER_STATUS_STOP) { // CRIATOMPLAYER_STATUS_STOP状態になった時点でループを抜ける break; } // サーバー処理の実行 criAtom_ExecuteMain(); // 画面表示の更新等 : } // 別の音声ファイルをセット criAtomPlayer_SetData(player, NULL, "sample.adx"); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_Pause | ( | CriAtomPlayerHn | player, | |
CriBool | flag | |||
) |
再生のポーズ/ポーズ解除
[in] | player | Atomプレーヤーハンドル |
[in] | flag | 動作フラグ(CRI_TRUE = ポーズ、CRI_FALSE = ポーズ解除) |
main() { : // 音声ファイルをセット criAtomPlayer_SetData(player, NULL, "sample.adx"); // 再生開始前にポーズをかけておく criAtomPlayer_Pause(player, CRI_TRUE); // セットされた音声データを再生 criAtomPlayer_Start(player); // ステータスがCRIATOMPLAYER_STATUS_PLAYINGに遷移するのを待つ for (;;) { // ステータスの取得 status = criAtomPlayer_GetStatus(player); // ステータスのチェック if (status == CRIATOMPLAYER_STATUS_PLAYING) { // CRIATOMPLAYER_STATUS_PLAYING状態になった時点でループを抜ける break; } // サーバー処理の実行 criAtom_ExecuteMain(); // 画面表示の更新等 : } // ポーズの解除 // →次のサーバー処理が実行されるタイミングで発音が開始される criAtomPlayer_Pause(player, CRI_FALSE); : }
CriBool CRIAPI criAtomPlayer_IsPaused | ( | CriAtomPlayerHn | player | ) |
ポーズされているかどうかのチェック
[in] | player | Atomプレーヤーハンドル |
CriAtomPlayerStatus CRIAPI criAtomPlayer_GetStatus | ( | CriAtomPlayerHn | player | ) |
ステータスの取得
[in] | player | Atomプレーヤーハンドル |
main() { : // 音声データをセット criAtomPlayer_SetData(player, buffer, buffer_size); // セットされた音声データを再生 criAtomPlayer_Start(player); // 再生完了待ち for (;;) { // ステータスの取得 status = criAtomPlayer_GetStatus(player); // ステータスのチェック if (status == CRIATOMPLAYER_STATUS_PLAYEND) { // 再生終了時はループを抜ける break; } // サーバー処理の実行 criAtom_ExecuteMain(); // 画面表示の更新等 : } : }
main() { : // ステータスの取得 status = criAtomPlayer_GetStatus(player); // ステータスのチェック if (status == CRIATOMPLAYER_STATUS_ERROR) { // CRIATOMPLAYER_STATUS_ERRORになった時点でエラーメッセージを表示する : } : }
CriSint32 CRIAPI criAtomPlayer_GetNumChannels | ( | CriAtomPlayerHn | player | ) |
チャンネル数の取得
[in] | player | Atomプレーヤーハンドル |
CriBool CRIAPI criAtomPlayer_GetNumPlayedSamples | ( | CriAtomPlayerHn | player, | |
CriSint64 * | num_played, | |||
CriSint32 * | sampling_rate | |||
) |
再生済みサンプル数の取得
[in] | player | Atomプレーヤーハンドル |
[out] | num_played | 再生済みサンプル数(サンプル数単位) |
[out] | sampling_rate | サンプリングレート(Hz単位) |
CriBool CRIAPI criAtomPlayer_GetNumRenderedSamples | ( | CriAtomPlayerHn | player, | |
CriSint64 * | num_rendered, | |||
CriSint32 * | sampling_rate | |||
) |
サウンドバッファへの書き込みサンプル数の取得
[in] | player | Atomプレーヤハンドル |
[out] | num_rendered | 書き込み済みサンプル数(サンプル数単位) |
[out] | sampling_rate | サンプリングレート(Hz単位) |
CriSint64 CRIAPI criAtomPlayer_GetDecodedDataSize | ( | CriAtomPlayerHn | player | ) |
デコードデータサイズの取得
[in] | player | Atomプレーヤーハンドル |
CriSint64 CRIAPI criAtomPlayer_GetNumDecodedSamples | ( | CriAtomPlayerHn | player | ) |
デコードサンプル数の取得
[in] | player | Atomプレーヤーハンドル |
CriSint64 CRIAPI criAtomPlayer_GetTime | ( | CriAtomPlayerHn | player | ) |
再生時刻の取得
[in] | player | Atomプレーヤーハンドル |
CriBool CRIAPI criAtomPlayer_GetFormatInfo | ( | CriAtomPlayerHn | player, | |
CriAtomFormatInfo * | info | |||
) |
再生音声のフォーマット情報の取得
[in] | player | Atomプレーヤーハンドル |
[out] | info | フォーマット情報 |
CriSint32 CRIAPI criAtomPlayer_GetInputBufferRemainSize | ( | CriAtomPlayerHn | player | ) |
入力バッファー内データ残量の取得
[in] | player | Atomプレーヤーハンドル |
CriSint32 CRIAPI criAtomPlayer_GetOutputBufferRemainSamples | ( | CriAtomPlayerHn | player | ) |
出力バッファー内データ残量の取得
[in] | player | Atomプレーヤーハンドル |
void CRIAPI criAtomPlayer_SetStartTime | ( | CriAtomPlayerHn | player, | |
CriSint64 | start_time_ms | |||
) |
再生開始位置の指定
[in] | player | Atomプレーヤーハンドル |
[in] | start_time_ms | 再生開始位置(ミリ秒指定) |
void CRIAPI criAtomPlayer_SetVolume | ( | CriAtomPlayerHn | player, | |
CriFloat32 | vol | |||
) |
ボリュームの指定
[in] | player | Atomプレーヤーハンドル |
[in] | vol | ボリューム値 |
CriFloat32 CRIAPI criAtomPlayer_GetVolume | ( | CriAtomPlayerHn | player | ) |
ボリュームの指定
[in] | player | Atomプレーヤーハンドル |
void CRIAPI criAtomPlayer_SetChannelVolume | ( | CriAtomPlayerHn | player, | |
CriSint32 | ch, | |||
CriFloat32 | vol | |||
) |
チャンネル単位のボリューム指定
[in] | player | Atomプレーヤーハンドル |
[in] | ch | チャンネル番号 |
[in] | vol | ボリューム値(0.0f〜1.0f) |
void CRIAPI criAtomPlayer_SetSendLevel | ( | CriAtomPlayerHn | player, | |
CriSint32 | ch, | |||
CriAtomSpeakerId | spk, | |||
CriFloat32 | level | |||
) |
センドレベルの設定
[in] | player | Atomプレーヤーハンドル |
[in] | ch | チャンネル番号 |
[in] | spk | スピーカーID |
[in] | level | ボリューム値(0.0f〜1.0f) |
criAtomPlayer_SetSendLevel(player, 0, CRIATOM_SPEAKER_FRONT_RIGHT, 1.0f);
criAtomPlayer_SetSendLevel(player, 1, CRIATOM_SPEAKER_FRONT_LEFT, 0.3f); criAtomPlayer_SetSendLevel(player, 1, CRIATOM_SPEAKER_FRONT_RIGHT, 0.5f); criAtomPlayer_SetSendLevel(player, 1, CRIATOM_SPEAKER_FRONT_CENTER, 0.7f);
void CRIAPI criAtomPlayer_ResetSendLevel | ( | CriAtomPlayerHn | player | ) |
センドレベルのリセット
[in] | player | Atomプレーヤーハンドル |
void CRIAPI criAtomPlayer_SetPanAdx1Compatible | ( | CriAtomPlayerHn | player, | |
CriSint32 | ch, | |||
CriFloat32 | pan | |||
) |
パンの設定
[in] | player | Atomプレーヤーハンドル |
[in] | ch | チャンネル番号 |
[in] | pan | パン設定値(-1.0f〜1.0f) |
void CRIAPI criAtomPlayer_ResetPan | ( | CriAtomPlayerHn | player | ) |
パンのリセット
[in] | player | Atomプレーヤーハンドル |
void CRIAPI criAtomPlayer_SetFrequencyRatio | ( | CriAtomPlayerHn | player, | |
CriFloat32 | ratio | |||
) |
周波数調整比の設定
[in] | player | Atomプレーヤーハンドル |
[in] | ratio | 周波数調整比 |
// 1/2の速度(-1オクターブ)で音声を再生するよう指定 criAtomPlayer_SetFrequencyRatio(player, 0.5f);
main() { CriAtomAdxPlayerConfig config; // Atomプレーヤー作成用コンフィグ構造体 CriAtomAdxPlayerHn player; // Atomプレーヤーハンドル : // Atomプレーヤー作成用コンフィグ構造体を設定 memset(&config, 0, sizeof(config)); config.max_channels = 2; // ステレオ再生可能なプレーヤーを作成する // 48000Hzの音声を1.5倍速で再生する場合 // 48000×1.5=72000Hzの設定でAtomプレーヤーを作成する config.max_sampling_rate = 72000; // 最大で72000Hzの音声を再生する // Atomプレーヤーの作成 // ワーク領域にはNULLと0を指定する。 // →必要なメモリはライブラリ内で動的に確保される。 player = criAtomPlayer_CreateAdxPlayer(&config, NULL, 0); : // 周波数比を変更する criAtomPlayer_SetFrequencyRatio(player, 1.5f); : }
void CRIAPI criAtomPlayer_SetMaxFrequencyRatio | ( | CriAtomPlayerHn | player, | |
CriFloat32 | ratio | |||
) |
最大周波数調整比の設定
[in] | player | Atomプレーヤーハンドル |
[in] | ratio | 最大周波数調整比 |
void CRIAPI criAtomPlayer_LimitLoopCount | ( | CriAtomPlayerHn | player, | |
CriSint32 | count | |||
) |
ループ回数の制限
[in] | player | Atomプレーヤーハンドル |
[in] | count | ループ制限回数 |
void CRIAPI criAtomPlayer_SetHcaMxMixerId | ( | CriAtomPlayerHn | player, | |
CriSint32 | mixer_id | |||
) |
HCA-MXデコード先ミキサIDの指定
[in] | player | Atomプレーヤーハンドル |
[in] | mixer_id | ミキサID |
void CRIAPI criAtomPlayer_SetAsrRackId | ( | CriAtomPlayerHn | player, | |
CriSint32 | rack_id | |||
) |
ASRラックIDの指定
[in] | player | Atomプレーヤーハンドル |
[in] | rack_id | ラックID |
void CRIAPI criAtomPlayer_SetRawPcmFormat | ( | CriAtomPlayerHn | player, | |
CriAtomPcmFormat | pcm_format, | |||
CriSint32 | num_channels, | |||
CriSint32 | sampling_rate | |||
) |
RawPCMフォーマットの指定
[in] | player | Atomプレーヤーハンドル |
[in] | pcm_format | RawPCMのデータフォーマット |
[in] | num_channels | チャンネル数 |
[in] | sampling_rate | サンプリングレート |
void CRIAPI criAtomPlayer_SetDataRequestCallback | ( | CriAtomPlayerHn | player, | |
CriAtomPlayerDataRequestCbFunc | func, | |||
void * | obj | |||
) |
データ要求コールバック関数の登録
[in] | player | Atomプレーヤーハンドル |
[in] | func | データ要求コールバック関数 |
[in] | obj | ユーザ指定オブジェクト |
// データ要求コールバック関数 void on_data_request(void *obj, CriAtomPlayerHn player) { // 続けて再生するデータをセット criAtomPlayer_SetData(player, buffer2, buffer_size2); } main() { : // データ要求コールバック関数の登録 criAtomPlayer_SetDataRequestCallback(player, on_data_request, NULL); // 音声データをセット criAtomPlayer_SetData(player, buffer1, buffer_size1); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
// データ要求コールバック関数 void on_data_request(void *obj, CriAtomPlayerHn player) { // 前回再生したデータを再セット criAtomPlayer_SetPreviousDataAgain(player); } main() { : // データ要求コールバック関数の登録 criAtomPlayer_SetDataRequestCallback(player, on_data_request, NULL); // 音声データをセット criAtomPlayer_SetData(player, buffer, buffer_size); // セットされた音声データを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_SetStatusChangeCallback | ( | CriAtomPlayerHn | player, | |
CriAtomPlayerStatusChangeCbFunc | func, | |||
void * | obj | |||
) |
ステータス変更コールバック関数の登録
[in] | player | Atomプレーヤーハンドル |
[in] | func | ステータス変更コールバック関数 |
[in] | obj | ユーザ指定オブジェクト |
// ステータス変更コールバック関数 void on_status_change(void *obj, CriAtomPlayerHn player) { CriAtomPlayerStatus status; // ステータスの取得 status = criAtomPlayer_GetStatus(player); if (status == CRIATOMPLAYER_STATUS_ERROR) { // リードエラー発生時の処理 : } } main() { : // ステータス変更コールバック関数の登録 criAtomPlayer_SetStatusChangeCallback(player, on_status_change, NULL); // 音声ファイルをセット criAtomPlayer_SetFile(player, NULL, "sample.adx"); // セットされた音声ファイルを再生 criAtomPlayer_Start(player); : }
void CRIAPI criAtomPlayer_SetParameterChangeCallback | ( | CriAtomPlayerHn | player, | |
CriAtomPlayerParameterChangeCbFunc | func, | |||
void * | obj | |||
) |
パラメーター変更コールバック関数の登録
[in] | player | Atomプレーヤーハンドル |
[in] | func | パラメーター変更コールバック関数 |
[in] | obj | ユーザ指定オブジェクト |
void CRIAPI criAtomPlayer_SetFilterCallback | ( | CriAtomPlayerHn | player, | |
CriAtomPlayerFilterCbFunc | func, | |||
void * | obj | |||
) |
波形フィルターコールバック関数の登録
[in] | player | Atomプレーヤーハンドル |
[in] | func | 波形フィルターコールバック関数 |
[in] | obj | ユーザ指定オブジェクト |
void CRIAPI criAtomPlayer_SetLoadRequestCallback | ( | CriAtomPlayerHn | player, | |
CriAtomPlayerLoadRequestCbFunc | func, | |||
void * | obj | |||
) |
ロード要求コールバック関数の登録
[in] | player | Atomプレーヤーハンドル |
[in] | func | ロード要求コールバック関数 |
[in] | obj | ユーザ指定オブジェクト |
void CRIAPI criAtomPlayer_SetHcaFormat | ( | CriAtomPlayerHn | player, | |
CriSint32 | num_channels, | |||
CriSint32 | sampling_rate, | |||
CriSint32 | bitrate | |||
) |
HCAフォーマットの指定
[in] | player | Atomプレーヤー |
[in] | num_channels | チャンネル数 |
[in] | sampling_rate | サンプリング周波数 |
[in] | bitrate | ビットレート |