PartyChatTextReceivedStateChange
状態変更の ChatTextReceived 型に固有の情報。
構文
struct PartyChatTextReceivedStateChange : PartyStateChange {
PartyChatControl* senderChatControl;
uint32_t receiverChatControlCount;
PartyLocalChatControlArray receiverChatControls;
PartyString languageCode;
PartyString chatText;
uint32_t dataSize;
const void* data;
uint32_t translationCount;
PartyTranslation* translations;
PartyChatTextReceivedOptions options;
PartyString originalChatText;
PartyError errorDetail;
}
メンバー
senderChatControl
PartyChatControl*
テキスト メッセージを発信したチャット コントロール オブジェクト。
receiverChatControlCount
uint32_t
テキスト メッセージのアドレス指定先となるローカル レシーバー チャット コントロールの数。
receiverChatControls
PartyLocalChatControlArray
配列のサイズreceiverChatControlCount
テキスト メッセージのアドレス指定先となるローカル レシーバー チャット コントロール。
languageCode
PartyString
チャット テキストの言語。
言語は、ローカル言語への翻訳が有効になっている場合にのみ提供されます。 翻訳が有効になっていない場合、または翻訳中にエラーが発生した場合、言語コードは空の文字列になります。
言語コードは、英語 (米国) の en-US などの BCP 47 形式になります。 サポートされている言語コードは、言語サポートで列挙されます。
chatText
PartyString
受信したチャット テキスト。
文字列は、null 終端文字を除いて最大 c_maxChatTextMessageLength
文字までの長さにすることができます。
フィルタリングを有効にすると、このテキストはリモート ユーザーによって送信されたテキストと完全には一致しない可能性があります。 正確なソース テキストは、originalChatText
フィールドから取得できます。
dataSize
uint32_t
テキスト メッセージと関連付けられたデータのサイズ。
data
const void*
サイズ dataSize
バイトのバッファー
このテキスト メッセージに関連付けられているデータ。
translationCount
uint32_t
チャット テキストに関連付けられている翻訳の数。
PartyTextChatOptions::TranslateToLocalLanguage が、このデバイスのチャット コントロール ローカルで PartyLocalChatControl::SetTextChatOptions() を介して指定されている場合、翻訳が提供されます。 複数のローカル チャット コントロールで翻訳が有効になっており、ローカル チャット コントロールが PartyLocalDevice::CreateChatControl() を介して異なる言語を指定している場合は、複数の翻訳が存在する可能性があります。 その場合、アプリは、translations
の各 PartyTranslation の languageCode
フィールドを、receiverChatControls
のローカル チャット コントロールごとに PartyLocalChatControl::GetLanguage() を介して取得した言語コードと比較して、各翻訳のターゲット ローカル チャット コントロールを決定できます。
translations
PartyTranslation*
配列のサイズtranslationCount
チャット テキスト文字列の翻訳を含む配列。
PartyTextChatOptions::TranslateToLocalLanguage が、このデバイスのチャット コントロール ローカルで PartyLocalChatControl::SetTextChatOptions() を介して指定されている場合、翻訳が提供されます。 複数のローカル チャット コントロールで翻訳が有効になっており、ローカル チャット コントロールが PartyLocalDevice::CreateChatControl() を介して異なる言語を指定している場合は、複数の翻訳が存在する可能性があります。 その場合、アプリは、translations
の各 PartyTranslation の languageCode
フィールドを、receiverChatControls
のローカル チャット コントロールごとに PartyLocalChatControl::GetLanguage() を介して取得した言語コードと比較して、各翻訳のターゲット ローカル チャット コントロールを決定できます。
options
PartyChatTextReceivedOptions
チャット テキストに関する追加情報を記述したフラグ。
originalChatText
PartyString
受信テキスト チャットの最初のバージョン。
このフィールドは常に、リモート ユーザーから送信されたフィルタリングされていないソース テキストです。 フィルタリングが有効になっていない場合は、chatText
へのポインターです。
options
フィールドの PartyChatTextReceivedOptions::None で示されているように、フィルタリングが有効になっていても、フィルタリングを必要としていなかった場合、これは chatText
へのポインターです。
errorDetail
PartyError
潜在的なエラー状態に関する追加のトラブルシューティング情報を提供する診断値。
このエラーは、診断のみを目的としています。 エラーが発生した場合、 PartyChatTextReceivedOptions::FilteredDueToError フラグが options
フィールドに表示されます。
要件
ヘッダー: Party.h
関連項目
パーティーのメンバー
PartyLocalDevice::CreateChatControl
PartyLocalChatControl::SendText
PartyLocalChatControl::SetTextChatOptions