#include <session.h>

データフィールド
void(* on_connected )(otc_session *session, void *ユーザーデータ)
void(* on_disconnected )(otc_session *session, void *ユーザーデータ)
void(* on_connection_created )(otc_session *session, void *ユーザーデータ, const otc_connection *接続)
void(* on_connection_dropped )(otc_session *session, void *ユーザーデータ, const otc_connection *接続)
void(* on_stream_received )(otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム)
void(* on_stream_dropped )(otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム)
void(* on_stream_has_audio_changed )(otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、 otc_bool has_audio)
void(* on_stream_has_video_changed )(otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、 otc_bool has_video)
void(* on_stream_has_captions_changed )(otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、 otc_bool has_captions)
void(* on_stream_video_dimensions_changed )(otc_session *session, void *ユーザーデータ, const otc_stream *stream, int width, int height)
void(* on_stream_video_type_changed )(otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、列挙型 otc_stream_video_type (タイプ)
void(* on_signal_received )(otc_session *session, void *ユーザーデータ, const char *type, const char *signal, const otc_connection *接続)
void(* on_reconnection_started )(otc_session *session, void *ユーザーデータ)
void(* on_reconnected )(otc_session *session, void *ユーザーデータ)
void(* on_archive_started )(otc_session *session, void *ユーザーデータ, const char *archive_id, const char *name)
void(* on_archive_stopped )(otc_session *session, void *ユーザーデータ, const char *archive_id)
void(* on_error )(otc_session *session, void *ユーザーデータ, const char *error_string, enum otc_session_error_code (エラー)
void(* on_mute_forced )(otc_session *session, void *ユーザーデータ, otc_on_mute_forced_info *mute_info)
void * ユーザーデータ
void * 予約済み

詳細な説明

セッションのコールバック関数。

この構造体は、OpenTokセッションに関連するイベントのコールバック関数への関数ポインタの集合です。

すべてのコールバックは、アプリケーションやメインスレッド上ではなく、内部スレッド上で行われる。アプリケーションは、内部スレッドのブロックを避けるために、できるだけ早くコールバックを返すべきである。

コールバック関数に渡されるデータ( session そして user_data) は、コールバックが呼び出された後に解放されます。データを保持する必要がある場合は、データのコピーを作成してください。

現場記録

on_archive_started

void(* on_archive_started) (otc_session *session, void *ユーザーデータ, const char *archive_id, const char *name)

セッションのアーカイブの録画が開始されたときに呼び出されます。詳しくは、 アーカイブ開発者ガイド.

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | archive_id | アーカイブ ID。 | | name | アーカイブの名前(アーカイブ作成時に指定されていた場合)。 |

on_archive_stopped

void(* on_archive_stopped) (otc_session *session, void *ユーザーデータ, const char *archive_id)

セッションのアーカイブの記録が停止したときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | archive_id | アーカイブ ID。 |

on_connected

void(* on_connected) (otc_session *session, void *ユーザーデータ)

次の場合に呼び出されます。 otc_session_connect この関数は、クライアントをOpenTokセッションに正常に接続します。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 |

on_connection_created

void(* on_connection_created) (otc_session *session, void *ユーザーデータ, const otc_connection *接続)

(別のクライアントからの)新しい接続が確立されたときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | connection | otc_connection セッションに接続するクライアントに対応する構造体。 |

on_connection_dropped

void(* on_connection_dropped) (otc_session *session, void *ユーザーデータ, const otc_connection *接続)

別のクライアントのセッションへの接続が切断されたときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | connection | otc_connection クライアントがセッションから切断されたことを表す構造体。 |

on_disconnected

void(* on_disconnected) (otc_session *session, void *ユーザーデータ)

クライアントが OpenTok セッションへの接続を解除した際に呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 |

on_error

void(* on_error) (otc_session *session, void *ユーザーデータ, const char *error_string, enum otc_session_error_code (エラー)

セッションが失敗した際に呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | error_string | エラー文字列。 | | error | エラーコード(型は otc_session_error_code). |

on_mute_forced

void(* on_mute_forced) (otc_session *session, void *ユーザーデータ, otc_on_mute_forced_info *mute_info)

モデレーターがセッション内の配信をミュートしたり、セッション内のミュート状態を解除したりした際に呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | mute_info | 確認してください active この構造体のプロパティです。これは OTC_TRUE モデレーターがセッションの音声をミュートした場合。これは OTC_FALSE モデレーターがセッションの「音声ミュート」状態を解除したとき。 |

on_reconnected

void(* on_reconnected) (otc_session *session, void *ユーザーデータ)

ローカルクライアントのネットワーク接続が一時的に切断された後、OpenTokセッションに再接続された際に呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 |

on_reconnection_started

void(* on_reconnection_started) (otc_session *session, void *ユーザーデータ)

ローカルクライアントが OpenTok セッションとの接続を失い、再接続を試みている際に呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 |

on_signal_received

void(* on_signal_received) (otc_session *session, void *ユーザーデータ, const char *type, const char *signal, const otc_connection *接続)

セッションでシグナルを受信したときに呼び出されます。詳しくは、 シグナリングの概要 ドキュメンテーション

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | type | シグナルのタイプ文字列(シグナル送信時に指定されていた場合)。 | | signal | シグナルのデータ文字列(シグナル送信時に指定されていた場合)。 | | connection | otc_connection 信号を送信したクライアントを代表して。 |

on_stream_dropped

void(* on_stream_dropped) (otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム)

この OpenTok セッションから別のクライアントのストリームが切断されたときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | stream | otc_stream ストリームを表す構造体。 |

on_stream_has_audio_changed

void(* on_stream_has_audio_changed) (otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、 otc_bool has_audio)

ストリームのオーディオがオンまたはオフに切り替わったときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | stream | otc_stream 新しいストリームを表す構造体。 | | has_audio | ストリームに音声が含まれているか(OTC_TRUE)、含まれていないか(OTC_FALSE)。 |

on_stream_has_captions_changed

void(* on_stream_has_captions_changed) (otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、 otc_bool has_captions)

ストリームで字幕の表示/非表示が切り替わったときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | stream | ストリームを表す otc_stream 構造体へのポインタ。 | | has_captions | ストリームに現在キャプションがあるか(OTC_TRUE)、ないか(OTC_FALSE)を示す。 |

on_stream_has_video_changed

void(* on_stream_has_video_changed) (otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、 otc_bool has_video)

ストリームで動画の再生がオンまたはオフに切り替わったときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | stream | ストリームに現在ビデオが含まれているか(OTC_TRUE)、含まれていないか(OTC_FALSE)。 |

on_stream_received

void(* on_stream_received) (otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム)

この OpenTok セッションに新しいストリームが追加されたときに呼び出されます。以下の関数を呼び出してください。 otc_session_subscribe ストリームを購読するための関数。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | stream | otc_stream 新しいストリームを表す構造体。 |

on_stream_video_dimensions_changed

void(* on_stream_video_dimensions_changed) (otc_session *session, void *ユーザーデータ, const otc_stream *stream, int width, int height)

セッション内のストリームの動画サイズが変更されたときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | width | ストリームの新しい幅(ピクセル単位)。 | | height | ストリームの新しい高さ(ピクセル単位)。 |

on_stream_video_type_changed

void(* on_stream_video_type_changed) (otc_session *session, void *ユーザーデータ, const otc_stream *ストリーム、列挙型 otc_stream_video_type (タイプ)

セッション内のストリームのビデオタイプが変更されたときに呼び出されます。

パラメータ : | | | | --- | --- | | session | otc_session 構造体へのポインタ。 | | user_data | セッションに対して設定した user_data へのポインタ。 | | type | 新しいストリーム型。 |

予約済み

void* reserved

内部実装に使用される、予約済みリソースが格納されているメモリ領域へのvoidポインタ。

ユーザーデータ

void* user_data

セッションに関連して設定したデータへのポインタ。