Julius 4.2
関数
libjulius/src/callback.c

コールバック関数の登録と実行 [詳細]

#include <julius/julius.h>

ソースコードを見る。

関数

void callback_init (Recog *recog)
 コールバック管理エリアの初期化
static int callback_add_core (Recog *recog, int code, void(*func)(), void *data)
 関数をコールバックレジストリに登録するコア関数
int callback_add (Recog *recog, int code, void(*func)(Recog *recog, void *data), void *data)
 関数をコールバックレジストリに登録する.
int callback_add_adin (Recog *recog, int code, void(*func)(Recog *recog, SP16 *buf, int len, void *data), void *data)
 関数をA/D-inタイプのコールバックレジストリに登録する.
static void c_out (const char *s, int flag)
static void callback_debug_stdout (int code, Recog *recog)
void callback_exec (int code, Recog *recog)
 コールバックレジストリに登録されている関数を全て実行する.
void callback_exec_adin (int code, Recog *recog, SP16 *buf, int len)
 A/D-in タイプのコールバックに登録された関数を全て実行する.
boolean callback_exist (Recog *recog, int code)
 コールバックレジストリに1つでも関数が登録されたかどうかを返す.
boolean callback_delete (Recog *recog, int id)
 コールバックから関数を削除する.

説明

コールバック関数の登録と実行

このファイルにはコールバックを扱う関数が含まれています. ユーザは callback_add() (A/D-in 関連のコールバックでは allback_add_adin()) を使って,ユーザが作成した関数を,指定のコールバックレポジトリに登録します. 認識時はJulius は登録された関数を認識処理の各場面で呼び出します.

あるコールバックについて複数の関数を登録することができます. この場 合,コールバック呼出しは,同じコールバックに登録された複数の関数が 全て呼ばれます.

作者:
Akinobu Lee
日付:
Fri Oct 26 00:03:18 2007
Revision:
1.3

callback.c で定義されています。


関数

void callback_init ( Recog recog)

コールバック管理エリアの初期化

引数:
recog[i/o] engine instance

callback.c53 行で定義されています。

参照元 j_recog_new().

呼出しグラフ:

static int callback_add_core ( Recog recog,
int  code,
void(*)()  func,
void *  data 
) [static]

関数をコールバックレジストリに登録するコア関数

引数:
recog[i/o] engine instance
code[in] code in which the function will be registered
func[in] function
data[in] user-specified argument to be passed when the function is called inside Julius
戻り値:
global callback ID unique for the whole process, or -1 on error.

callback.c77 行で定義されています。

参照元 callback_add(), と callback_add_adin().

void callback_exec ( int  code,
Recog recog 
)

コールバックレジストリに登録されている関数を全て実行する.

引数:
code[in] callback code
recog[in] engine instance.

callback.c233 行で定義されています。

参照元 adin_cut(), adin_go(), callback_check_in_adin(), decode_proceed(), get_back_trellis(), gmm_end(), j_open_stream(), j_recognize_stream(), j_recognize_stream_core(), RealTimeParam(), RealTimeResume(), と result_error().

関数の呼び出しグラフ:

呼出しグラフ:

void callback_exec_adin ( int  code,
Recog recog,
SP16 buf,
int  len 
)

A/D-in タイプのコールバックに登録された関数を全て実行する.

引数:
code[in] callbcak code
recog[in] engine instance
buf[in] buffer that holds the current input speech which will be passed to the functions
len[in] length of buf

callback.c265 行で定義されています。

参照元 adin_cut().

関数の呼び出しグラフ:

呼出しグラフ: