UI のカスタマイズ
ここではTUICallKitのユーザーインターフェースをカスタマイズする方法についてご説明します。インターフェース微調整と自身でのUI実装という2つのソリューションをご用意しています。
方法1:インターフェース微調整ソリューション
ご提供するUIソースコードを直接変更することで、TUICallKitのユーザーインターフェースを調整します。TUICallKitのインターフェースソースコードはGithubの
iOS/TUICallKit
フォルダにあります。アイコンの置き換え
Resources\Calling.xcassets
フォルダ内のアイコンを直接置き換え、app全体のアイコンの色やスタイルに統一性を持たせることができます。置き換える際にアイコンファイルの名前を変更しないようにしてください。
着信音の置き換え
Resources\AudioFile
フォルダ内の3つのオーディオファイルを置き換えることで、着信音の置き換えができます。ファイル名 | 用途 |
phone_dialing.m4a | 呼び出し開始時の音声 |
phone_hangup.mp3 | 通話終了の音声 |
phone_ringing.flac | 呼び出し応答時の音声 |
テキストの置き換え zh-Hans.lprojおよびen.lproj内の
CallingLocalized.strings
ファイルを変更することで、ビデオ通話画面内の文字列の内容を変更できます。方法2:自身でのUI実装ソリューション
TUICallKitの通話機能全体はTUICallEngineというUIレスコンポーネントをベースにして実装されています。tuicallkitフォルダを削除し、TUICallEngineを完全にベースにしてご自身のUIを実装することが可能です。
TUICallEngine
TUICallEngine APIは通話コンポーネント全体の基盤インターフェースです。主に1対1オーディオビデオ通話およびグループ内通話の開始、応答、拒否、終了、デバイス操作などの重要なインターフェースを提供します。
API | 説明 |
TUICallEngineインスタンスの作成(シングルトンモード) | |
TUICallEngineインスタンスの破棄(シングルトンモード) | |
オーディオビデオ通話基本機能の認証完了 | |
イベントコールバックの追加 | |
コールバックインターフェースの削除 | |
1v1通話の開始 | |
グループ通話の開始 | |
通話応答 | |
通話拒否 | |
通話終了 | |
通話を無視 | |
グループ通話中に他の人を招待 | |
現在のグループ通話に自主的に参加 | |
通話メディアタイプの切り替え。ビデオ通話からオーディオ通話への切り替えなど | |
リモートユーザービデオストリームのサブスクリプション開始 | |
リモートユーザービデオストリームのサブスクリプション停止 | |
カメラの起動 | |
カメラの終了 | |
フロント/リアカメラの切り替え | |
マイクをオンにする | |
マイクをオフにする | |
オーディオ再生デバイスの選択(ヘッドホン/スピーカー) | |
ユーザーのニックネーム、プロフィール画像の設定 | |
TUICallEngineのマルチデバイスログインモードのオン/オフ (プレミアム版パッケージのみサポート) |
TUICallObserver
TUICallObserverはTUICallEngineに対応するコールバックイベントクラスです。このコールバックによって、関心のあるコールバックイベントを監視することができます。
API | 説明 |
通話中のエラーコールバック | |
通話リクエストのコールバック | |
通話キャンセルのコールバック | |
通話接続のコールバック | |
通話終了のコールバック | |
通話メディアタイプ変更発生のコールバック | |
xxxxユーザーによる通話拒否のコールバック | |
xxxxユーザーの応答なしのコールバック | |
xxxxユーザーが通話中である場合のコールバック | |
xxxxユーザーの通話参加のコールバック | |
xxxxユーザーの通話からの退出のコールバック | |
xxxユーザーのビデオストリームの有無のコールバック | |
xxxユーザーのオーディオストリームの有無のコールバック | |
全ユーザーの音量レベルフィードバックのコールバック | |
全ユーザーのネットワーク品質フィードバックのコールバック |
主要なタイプの定義
API | 説明 |
TUICallMediaType | 通話のメディアタイプ。列挙タイプ:ビデオ通話、音声通話 |
TUICallRole | 通話のロール。列挙タイプ:発呼側、着呼側 |
TUICallStatus | 通話の状態。列挙タイプ:アイドル状態、応答待ち、応答中 |
TUIRoomId | オーディオビデオルームID。数字、文字列の2種類をサポートしています |
TUICallCamera | カメラIDパラメータ。列挙タイプ:フロントカメラ、リアカメラ |
TUIAudioPlaybackDevice | 音声再生デバイス。列挙タイプ:スピーカー、ヘッドホン |
TUINetworkQualityInfo | 現在のネットワーク品質情報 |