TRTCLiveRoomは、Tencent CloudのTencent Real-Time Communication (TRTC)およびIMサービスを基に組み合わせたコンポーネントで、以下の機能をサポートしています。
説明:TUIKitシリーズコンポーネントはTencent CloudのTRTCとIMという2つの基本的なPaaSサービスを同時に使用し、TRTCをアクティブにした後、IMサービスを同期的にアクティブにすることができます。IMサービスの課金ルールの詳細については、Instant Messagingの料金説明をご参照ください。TRTCをアクティブにすると、デフォルトでは、100DAUまでサポートするIM SDK体験版もアクティブになります。
TRTCLiveRoomはオープンソースのClassであり、Tencent Cloudの2つのクローズドソースのSDKに依存しています。具体的な実現プロセスは、 ビデオマイク接続ライブストリーミング(iOS)をご参照ください。
API | 説明 |
---|---|
delegate | イベントコールバックを設定します。 |
login | ログイン。 |
logout | ログアウト。 |
setSelfProfile | 個人情報を修正します。 |
API | 説明 |
---|---|
createRoom | ルームの新規作成(キャスターが呼び出し)。ルームが存在しない場合は、システムが新しいルームを自動作成します。 |
destroyRoom | ルームの廃棄(キャスターが呼び出し)。 |
enterRoom | 入室(視聴者が呼び出し)。 |
exitRoom | 退室(視聴者が呼び出し)。 |
getRoomInfos | ルームリストの詳細情報を取得します。 |
getAnchorList | ルーム内の全キャスターのリストを取得します。enterRoom() 成功後に呼び出しが有効となります。 |
getAudienceList | ルーム内の全視聴者の情報を取得します。enterRoom() 成功後に呼び出しが有効となります。 |
API | 説明 |
---|---|
startCameraPreview | ローカルビデオのプレビュー画面を立ち上げます。 |
stopCameraPreview | ローカルのビデオキャプチャおよびプレビューを停止します。 |
startPublish | ライブストリーミング(プッシュ)を開始します。 |
stopPublish | ライブストリーミング(プッシュ)を停止します。 |
startPlay | リモートのビデオ画面を再生します。普通の視聴とマイク接続のシーンで呼び出すことができます。 |
stopPlay | リモートのビデオ画面のレンダリングを停止します。 |
API | 説明 |
---|---|
requestJoinAnchor | 視聴者がマイク接続をリクエストします。 |
responseJoinAnchor | キャスターがマイク接続のリクエストを処理します。 |
kickoutJoinAnchor | キャスターがマイク接続視聴者をキックアウトします。 |
API | 説明 |
---|---|
requestRoomPK | キャスターがルーム間PKをリクエストします。 |
responseRoomPK | キャスターがルーム間PKのリクエストに応答します。 |
quitRoomPK | ルーム間PKから退出します。 |
API | 説明 |
---|---|
switchCamera | フロント/リアカメラを切り替えます。 |
setMirror | ミラー表示のオン/オフを設定します。 |
muteLocalAudio | ローカルオーディオをミュートにします。 |
muteRemoteAudio | リモートオーディオをミュートにします。 |
muteAllRemoteAudio | 全てのリモートオーディオをミュートにします。 |
API | 説明 |
---|---|
getAudioEffectManager | BGMサウンドエフェクト管理オブジェクトTXAudioEffectManagerを取得します。 |
API | 説明 |
---|---|
getBeautyManager | 美顔管理オブジェクト TXBeautyManagerを取得します。 |
API | 説明 |
---|---|
sendRoomTextMsg | ルーム内でのテキストメッセージのブロードキャスト。通常、弾幕によるチャットに使用します。 |
sendRoomCustomMsg | カスタマイズしたテキストメッセージを送信します。 |
API | 説明 |
---|---|
showVideoDebugLog | debug情報をインターフェースに表示するかどうか。 |
API | 説明 |
---|---|
onError | エラーのコールバック。 |
onWarning | 警告のコールバック。 |
onDebugLog | Logコールバック。 |
API | 説明 |
---|---|
onRoomDestroy | ルームが破棄された時のコールバック。 |
onRoomInfoChange | ライブストリーミングルーム情報変更のコールバック。 |
API | 説明 |
---|---|
onAnchorEnter | 新しいキャスターの入室通知を受信します。 |
onAnchorExit | キャスターの退室通知を受信します。 |
onAudienceEnter | 視聴者入室通知を受信します。 |
onAudienceExit | 視聴者退室通知を受信します。 |
API | 説明 |
---|---|
onRequestJoinAnchor | キャスターが視聴者のマイク接続リクエストを受信した時のコールバック。 |
onKickoutJoinAnchor | マイク接続の視聴者がマイク接続からキックアウトされた通知を受信します。 |
API | 説明 |
---|---|
onRequestRoomPK | ルーム間PKのリクエストの通知を受信します。 |
onQuitRoomPK | ルーム間PK中止の通知を受信します。 |
API | 説明 |
---|---|
onRecvRoomTextMsg | テキストメッセージを受信します。 |
onRecvRoomCustomMsg | カスタムメッセージを受信します。 |
TRTCLiveRoom イベントコールバック。 TRTCLiveRoomDelegate を介してTRTCLiveRoomの各種ステータス通知を受け取ることができます。
@property(nonatomic, weak)id<TRTCLiveRoomDelegate> delegate;
説明:delegateは、TRTCLiveRoomのプロキシコールバックです。
ログイン。
/// コンポーネントシステムにログイン
/// - Parameters:
/// - sdkAppID: TRTCコンソール >【[アプリケーション管理](https://console.tencentcloud.com/trtc/app)】> アプリケーション情報でSDKAppIDを確認できます。
/// - userID: 現在のユーザーID。文字列タイプであり、英語のアルファベット(a-zとA-Z)、数字(0-9)、ハイフン(-)とアンダーライン(\_)のみ使用できます。
/// -userSig: Tencent Cloudによって設計されたセキュリティ保護署名です。取得方法については、 [UserSigの計算と使用方法](https://www.tencentcloud.com/document/product/647/35166)をご参照ください。
/// - config: グローバルコンフィギュレーション情報です。ログイン時に初期化してください。ログイン後は変更できなくなります。isAttachedTUIKit プロジェクトにTUIKitを導入し使用しているか。
/// - callback: ログインのコールバック。成功時にcodeは0になります。
/// - Note:
/// - userSigの設定は 7日を推奨します。usersign期限切れによるIMのメッセージ送受信の失敗、TRTCのマイク接続の失敗等を効果的に回避できます。
- (void)loginWithSdkAppID:(int)sdkAppID
userID:(NSString *)userID
userSig:(NSString *)userSig
config:(TRTCLiveRoomConfig *)config
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(login(sdkAppID:userID:userSig:config:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
sdkAppID | Int | TRTCコンソール >【アプリケーション管理】> アプリケーション情報でSDKAppIDを確認できます。 |
userID | String | 現在のユーザーID。文字列タイプであり、英語のアルファベット(a-zとA-Z)、数字(0-9)、ハイフン(-)とアンダーライン(_)のみ使用できます。 |
userSig | String | Tencent Cloudによって設計されたセキュリティ保護署名。取得方法については、 UserSigの計算、使用方法をご参照ください。 |
config | TRTCLiveRoomConfig | グローバルコンフィギュレーション情報。ログイン時に初期化してください。ログイン後は変更できなくなります。
|
callback | (_ code: Int, _ message: String?) -> Void | ログインのコールバック。成功時にcodeは0になります。 |
ログアウト。
// ログイン状態から退出
/// - Parameter callback: ログアウトのコールバック。成功時にcodeは0になります。
- (void)logout:(Callback _Nullable)callback
NS_SWIFT_NAME(logout(_:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
callback | (_ code: Int, _ message: String?) -> Void | ログアウトのコールバック。成功時にcodeは0になります。 |
個人情報の修正。
/// ユーザー情報を設定します。設定したユーザー情報は、Tencent CloudのIMクラウドサーバーに保存されます。
/// - Parameters:
/// - name: ユーザーのニックネーム
/// - avatarURL: ユーザーのプロフィール画像のアドレス
/// - callback: 個人情報設定のコールバック。成功時にcodeは0になります。
- (void)setSelfProfileWithName:(NSString *)name
avatarURL:(NSString * _Nullable)avatarURL
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(setSelfProfile(name:avatarURL:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
name | String | ニックネーム。 |
avatarURL | String | プロフィール画像のアドレス。 |
callback | (_ code: Int, _ message: String?) -> Void | 個人情報設定のコールバック。成功時にcodeは0になります。 |
ルームの新規作成(キャスターが呼び出し)。
/// ルームを作成(キャスターが呼び出し)します。ルームが存在しない場合、システムが新しいルームを1つ自動作成します。
/// キャスターが配信を開始する際の通常の呼び出しプロセスは以下のとおりです。
/// 1.【キャスター】startCameraPreview()を呼び出し、カメラのプレビューを起動します。この時美顔パラメータを調整できます。
/// 2.【キャスター】 createRoom()を呼び出し、ライブストリーミングルームを作成します。ルーム作成の成功の有無がcallbackでキャスターに通知されます。
/// 3.【キャスター】startPublish() を呼び出し、プッシュを開始します。
/// - Parameters:
/// - roomID: ルームIDです。ご自身でアサインし、一元管理してください。複数のroomIDを、1つのライブストリーミングルームリストにまとめることができます。Tencent Cloudではライブストリーミングルームリストの管理サービスを一時的に行いませんので、ご自身でライブルームリストを管理してください。
/// - roomParam: TRTCCreateRoomParam | ルーム情報であり、ルームの説明情報として利用されます(例:ルーム名、カバー情報など)。ルームリストとルーム情報をご自分で管理する場合は、このパラメータは無視できます。
/// - callback: 入室結果のコールバック。成功時にcodeは0になります。
/// - Note:
/// - キャスターがライブストリーミングを開始する時に呼び出します。自分が作成したことがあるルームを再び作成することができます。
- (void)createRoomWithRoomID:(UInt32)roomID
roomParam:(TRTCCreateRoomParam *)roomParam
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(createRoom(roomID:roomParam:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
roomID | UInt32 | ルームIDです。ご自身でアサインし、一元管理する必要があります。複数のroomIDを、1つのライブストリーミングリストにまとめることができます。Tencent Cloudではライブストリーミングリストの管理サービスを一時的に行いませんので、ご自身でライブストリーミングルームリストを管理してください。 |
roomParam | TRTCCreateRoomParam | ルーム情報であり、ルームの説明情報として利用されます(例:ルーム名、カバー情報など)。ルームリストとルーム情報をご自分で管理する場合は、このパラメータは無視できます。 |
callback | (_ code: Int, _ message: String?) -> Void | ルームの新規作成結果のコールバック。成功時にcodeは0になります。 |
キャスターがブロードキャストを開始する際の通常の呼び出しプロセスは次のとおりです:
startCameraPreview()
を呼び出し、カメラのプレビューを起動します。この時美顔パラメータを調整できます。 createRoom()
を呼び出し、ライブストリーミングルームを作成します。ルーム作成の成功の有無がcallbackでキャスターに通知されます。starPublish()
を呼び出し、プッシュを開始します。ルームの破棄(キャスターが呼び出し)。キャスターは、ルーム作成後、この関数を呼び出してルームを破棄します。
/// ルームの破棄(キャスターが呼び出し)
/// キャスターはルーム作成後、この関数を呼び出してルームを破棄することができます。
/// - Parameter callback: ルーム破棄結果のコールバック。成功時にcodeは0になります。
/// - Note:
/// - キャスターは、ルーム作成後、この関数を呼び出してルームを破棄します。
- (void)destroyRoom:(Callback _Nullable)callback
NS_SWIFT_NAME(destroyRoom(callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
callback | (_ code: Int, _ message: String?) -> Void | ルーム破棄結果のコールバック、成功時にcodeは0になります。 |
入室(視聴者が呼び出し)
/// 入室(視聴者が呼び出し)
/// 視聴者のライブストリーミング視聴の通常の呼び出しフローは以下のとおりです:
/// 1.【視聴者】サーバーから最新のライブストリーミングルームリストを取得します。その中には、多くのライブストリーミングルームのroomId およびルーム情報が含まれます。
/// 2.【視聴者】視聴者は1つのライブストリーミングルームを選択し、enterRoom()を呼び出して、このルームに参加します。
/// 3.【視聴者】お客様のサーバーが管理するルームリストの中にそれぞれのルームのキャスターのuserIDが含まれている場合、enterRoom() 成功後、直接startPlay(userID)を呼び出すとキャスターの画面を再生できます。
/// お客様が管理するルームリストにroomidしかなくてもかまいません。視聴者は、enterRoom()成功後すぐに TRTCLiveRoomDelegateからonAnchorEnter(userID)のコールバックを受信します。
/// この時コールバックの中のuserIDを使用して startPlay(userID)を呼び出すと、キャスターの画面を再生できます。
/// - Parameters:
/// - roomID: ルームID。
/// - useCDNFirst: 優先的にCDNを使用して再生するかどうか。
/// - cdnDomain: CDNドメイン名
/// - callback: 入室結果のコールバック。成功時にcodeは0になります。
/// - Note:
/// - 視聴者がライブストリーミングルームに参加する時に呼び出します
/// - キャスターがこのインターフェースを呼び出して自分が作成したルームに参加することはできません。createRoomを使用してください。
- (void)enterRoomWithRoomID:(UInt32)roomID
useCDNFirst:(BOOL)useCDNFirst
cdnDomain:(NSString * _Nullable)cdnDomain
callback:(Callback)callback
NS_SWIFT_NAME(enterRoom(roomID:useCDNFirst:cdnDomain:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
roomID | UInt32 | ルームID。 |
callback | (_ code: Int, _ message: String?) -> Void | 入室結果のコールバック。成功時にcodeは0になります。 |
視聴者のライブストリーミング視聴の通常の呼び出しフローは以下のとおりです:
1.【視聴者】サーバーから最新のライブストリーミングルームリストを取得します。その中には、多くのライブストリーミングルームのroomIdおよびルーム情報が含まれる場合があります。
2. 【視聴者】視聴者は1つのライブストリーミングルームを選択し、enterRoom()
を呼び出して、このルームに参加します。
3. 【視聴者】startPlay(userID)
を呼び出し、キャスターのuserIDを渡して再生を開始します。
startPlay(userID)
を直接呼び出せば、再生を開始できます。TRTCLiveRoomDelegate
からonAnchorEnter(userID)
のイベントコールバックを受信します。このコールバックの中にキャスターのuserID 情報が含まれていますので、startPlay(userID)
を再び呼び出せば、再生できます。 ルームを退出します。
/// 退室(視聴者が呼び出し)
/// - Parameter callback: 退室結果のコールバック。成功時にcodeは0になります。
/// - Note:
/// - 視聴者がライブストリーミングルームを退出する時に呼び出します
/// - キャスターはルームを退出する際に、このインターフェースを呼び出すことができません。
- (void)exitRoom:(Callback _Nullable)callback
NS_SWIFT_NAME(exitRoom(callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
callback | (_ code: Int, _ message: String?) -> Void | 退室結果のコールバック。成功時にcodeは0になります。 |
ルームリストの詳細情報を取得します。ルーム情報は、キャスターが createRoom()
作成時にroomInfoによって設定します。
説明:ルームリストおよびルーム情報をご自身で管理する場合は、この関数は無視できます。
/// ルームリストの詳細情報を取得します。
/// その中の情報は、キャスターがcreateRoom()作成時に roomInfoで設定されたものです。ルームリストおよびルーム情報をご自身で管理する場合は、この関数は無視してもかまいません。
/// - Parameter roomIDs: ルームナンバーリスト
/// - Parameter callback: ルーム詳細情報のコールバック
- (void)getRoomInfosWithRoomIDs:(NSArray<NSNumber *> *)roomIDs
callback:(RoomInfoCallback _Nullable)callback
NS_SWIFT_NAME(getRoomInfos(roomIDs:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
roomIDs | [UInt32] | ルームナンバーリスト。 |
callback | (_ code: Int, _ message: String?, _ roomList: [TRTCLiveRoomInfo]) -> Void | ルーム詳細情報のコールバック。 |
ルーム内の全キャスターのリストを取得します。enterRoom()
成功後に呼び出しが有効となります。
/// ルーム内の全キャスターのリストを取得します。enterRoom() 成功後に呼び出しが有効となります。
/// - Parameter callback: ユーザーの詳細情報のコールバック
- (void)getAnchorList:(UserListCallback _Nullable)callback
NS_SWIFT_NAME(getAnchorList(callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
callback | (_ code: Int, _ message: String, _ userList: [TRTCLiveUserInfo]) -> Void | ユーザーの詳細情報のコールバック。 |
ルーム内の全視聴者の情報を取得します。enterRoom()
成功後に呼び出しが有効となります。
/// ルーム内の全視聴者の情報を取得します。enterRoom()成功後に呼び出しが有効となります。
/// - Parameter callback: ユーザーの詳細情報のコールバック
- (void)getAudienceList:(UserListCallback _Nullable)callback
NS_SWIFT_NAME(getAudienceList(callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
callback | (_ code: Int, _ message: String, _ userList: [TRTCLiveUserInfo]) -> Void | ユーザーの詳細情報のコールバック。 |
ローカルビデオのプレビュー画面を立ち上げます。
/// ローカルビデオのプレビュー画面を立ち上げます
/// - Parameters:
/// - frontCamera: true:フロントカメラ;false:リアカメラ。
/// - view: ビデオ画像をロードするウィジェット。
/// - callback: 操作コールバック。
- (void)startCameraPreviewWithFrontCamera:(BOOL)frontCamera
view:(UIView *)view
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(startCameraPreview(frontCamera:view:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
frontCamera | Bool | true:フロントカメラ;false:リアカメラ。 |
view | UIView | ビデオ画像をロードするウィジェット。 |
callback | (_ code: Int, _ message: String?) -> Void | 操作コールバック。 |
ローカルのビデオキャプチャおよびプレビューを停止します。
/// ローカルのビデオキャプチャおよびプレビューを停止します。
- (void)stopCameraPreview;
ライブストリーミング(プッシュ)を開始します。次のシーンに適用します:
/// ライブストリーミング(プッシュ)を開始します。次の2種類のシーンに適用します:
/// 1. キャスターの配信開始時の呼び出し
/// 2. 視聴者のマイク接続開始時の呼び出し
/// - Parameters:
/// - streamID: ライブCDNのstreamIdをバインドするために利用します。視聴者にライブCDN経由で視聴させたい場合は、現在のキャスターのライブストリーミングstreamIdを指定する必要があります。
/// - callback: 操作コールバック。
- (void)startPublishWithStreamID:(NSString *)streamID
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(startPublish(streamID:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
streamID | String | ライブCDNのstreamIdをバインドするために利用します。視聴者にライブCDN経由で視聴させたい場合は、現在のキャスターのライブストリーミングstreamIdを指定する必要があります。 |
callback | (_ code: Int, _ message: String?) -> Void | 操作コールバック。 |
ライブストリーミング(プッシュ)を停止します。次のシーンに適用します:
/// ライブストリーミング(プッシュ)を停止します。次の2つのシーンに適用します:
/// 1. キャスターがライブストリーミングを終了する時の呼び出し
/// 2. 視聴者がマイク接続を終了する時の呼び出し
/// - Parameter callback: 操作コールバック。
- (void)stopPublish:(Callback _Nullable)callback
NS_SWIFT_NAME(stopPublish(callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
callback | (_ code: Int, _ message: String?) -> Void | 操作コールバック。 |
リモートのビデオ画面を再生します。普通の視聴とマイク接続のシーンで呼び出すことができます。
/// リモートのビデオ画面を再生します。普通の視聴とマイク接続のシーンで呼び出すことができます。
/// 【普通の視聴シーン】
/// 1. お客様のサーバーが管理するルームリストの中にそれぞれのルームのキャスターのuserIDが含まれている場合、enterRoom() 成功後、直接 startPlay(userID)を呼び出せばキャスターの画面を再生できます。
/// 2. お客様が管理するルームリストにroomidしかなくてもかまいません。視聴者はenterRoom()成功後すぐにTRTCLiveRoomDelegateからのonAnchorEnter(userID)のコールバックを受信します。
/// この時コールバックの中のuserIDを使用して startPlay(userID)を呼び出すと、キャスターの画面を再生できます。
/// 【ライブストリーミングのマイク接続シーン】
/// マイク接続の始動後、キャスターは TRTCLiveRoomDelegateから onAnchorEnter(userID)のコールバックを受信します。この時コールバックの中のuserIDを使用して startPlay(userID)を呼び出せば、マイク接続の画面を再生できます。
/// - Parameters:
/// - userID: 視聴が必要なユーザーのID。
/// - view: ビデオ画像をロードするviewウィジェット。
/// - callback: 操作コールバック。
- (void)startPlayWithUserID:(NSString *)userID
view:(UIView *)view
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(startPlay(userID:view:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
userID | String | 視聴が必要なユーザーのID。 |
view | UIView | ビデオ画像をロードするviewウィジェット。 |
callback | (_ code: Int, _ message: String?) -> Void | 操作コールバック。 |
普通の視聴シーン
enterRoom()
成功後にstartPlay(userID)
を直接呼び出せば、キャスターの画面を再生できます。TRTCLiveRoomDelegate
からonAnchorEnter(userID)
のイベントコールバックを受信します。このコールバックの中にキャスターのuserID 情報が含まれていますので、startPlay(userID)
を再び呼び出せば、キャスターの画面を再生できます。ライブストリーミングのマイク接続シーン
マイク接続の始動後、キャスターは TRTCLiveRoomDelegate
から onAnchorEnter(userID)
のコールバックを受信します。この時コールバックの中のuserIDを使用して startPlay(userID)
を呼び出せば、マイク接続の画面を再生できます。
リモートのビデオ画面のレンダリングを停止します。onAnchorExit()
のコールバック時、このインターフェースを呼び出してください。
/// リモートのビデオ画面のレンダリングを停止。
/// - Parameters:
/// - userID: 相手側のユーザー情報。
/// - callback: 操作コールバック。
/// - Note:
/// - onAnchorExitのコールバック時、このインターフェースを呼び出します。
- (void)stopPlayWithUserID:(NSString *)userID
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(stopPlay(userID:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
userID | String | 相手側のユーザー情報。 |
callback | (_ code: Int, _ message: String?) -> Void | 操作コールバック。 |
視聴者がマイク接続をリクエストします。
/// 視聴者側がマイク接続をリクエストします
/// - Parameters:
/// - reason: マイク接続リクエストの理由。
/// - responseCallback: マイク接続リクエストのコールバック。
/// - Note: 視聴者がリクエストを送信すると、キャスター側は`onRequestJoinAnchor`のコールバックを受信します。
- (void)requestJoinAnchor:(NSString *)reason
timeout:(double)timeout
responseCallback:(ResponseCallback _Nullable)responseCallback
NS_SWIFT_NAME(requestJoinAnchor(reason:timeout:responseCallback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
reason | String | マイク接続の理由。 |
timeout | long | キャスターの応答のコールバック。 |
responseCallback | (_ agreed: Bool, _ reason: String?) -> Void | キャスターの応答のコールバック。 |
キャスターと視聴者のマイク接続フローは次のとおりです:
requestJoinAnchor()
を呼び出し、キャスターにマイク接続リクエストを送信します。TRTCLiveRoomDelegate
のonRequestJoinAnchor()
のコールバック通知を受信します。responseJoinAnchor()
を呼び出して、視聴者からのマイク接続リクエストを受け入れるか決定します。startCameraPreview()
が呼び出され、ローカルカメラが起動します。startPublish()
を呼び出し、正式にプッシュストリームの状態に入ります。TRTCLiveRoomDelegate
の onAnchorEnter()
の通知を受信します。startPlay()
を呼び出すと、マイク接続の視聴者のビデオ画面を見ることができるようになります。onAnchorEnter()
の通知を受け取ります。この時にstartPlay()
を呼び出せば他のマイク接続者のビデオ画面を再生することができます。キャスターがマイク接続のリクエストを処理します。キャスターは TRTCLiveRoomDelegate
の onRequestJoinAnchor()
のコールバックを受け取った後、このインターフェースを呼び出して、視聴者のマイク接続リクエストを処理してください。
/// キャスターが視聴者のマイク接続リクエストに回答します
/// - Parameters:
/// - user: 視聴者ID。
/// - agree: true:同意;false:拒否。
/// - reason: マイク接続を同意/拒否した理由の説明。
/// - Note: キャスターが回答すると、視聴者側は`requestJoinAnchor`で渡された`responseCallback`のコールバックを受信します。
- (void)responseJoinAnchor:(NSString *)userID
agree:(BOOL)agree
reason:(NSString *)reason
NS_SWIFT_NAME(responseJoinAnchor(userID:agree:reason:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
userID | String | 視聴者ID。 |
agree | Bool | true:同意;false:拒否。 |
reason | String? | マイク接続を同意/拒否した理由の説明。 |
キャスターがマイク接続の視聴者をキックアウトします。キャスターがこのインターフェースを呼び出し、マイク接続の視聴者をキックアウトすると、キックアウトされたマイク接続の視聴者は、TRTCLiveRoomDelegate
のonKickoutJoinAnchor()
のコールバック通知を受信します。
/// キャスターがマイク接続の視聴者を追放します
/// - Parameters:
/// - userID: マイク接続の視聴者ID。
/// - callback: 操作コールバック。
/// - Note: キャスターがこのインターフェースを呼び出し、マイク接続の視聴者を追放すると、追放されたマイク接続の視聴者は、trtcLiveRoomOnKickoutJoinAnchor()のコールバック通知を受信します。
- (void)kickoutJoinAnchor:(NSString *)userID
callback:(Callback _Nullable)callback
NS_SWIFT_NAME(kickoutJoinAnchor(userID:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
userID | String | マイク接続の視聴者ID。 |
callback | (_ code: Int, _ message: String?) -> Void | 操作コールバック。 |
キャスターがルーム間PKをリクエストします。
/// キャスターがルーム間PKをリクエストします。
/// - Parameters:
/// - roomID: 招待された側のルームID。
/// - userID: 招待された側のキャスターID。
/// - responseCallback: ルーム間PKのリクエスト結果のコールバック。
/// - Note: リクエストを送信すると、相手側のキャスターが`onRequestRoomPK`のコールバックを受信します。
- (void)requestRoomPKWithRoomID:(UInt32)roomID
userID:(NSString *)userID
responseCallback:(ResponseCallback _Nullable)responseCallback
NS_SWIFT_NAME(requestRoomPK(roomID:userID:responseCallback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
roomID | UInt32 | 招待された側のルームID。 |
userID | String | 招待された側のキャスターID。 |
responseCallback | (_ agreed: Bool, _ reason: String?) -> Void | ルーム間PKのリクエスト結果のコールバック。 |
キャスターとキャスターの間でルーム間PKを行うことができます。ライブストリーミング中の2名のキャスターAとBのルーム間PKのフローは次のとおりです:
requestRoomPK()
を呼び出してキャスターBに向けてマイク接続リクエストを送信します。TRTCLiveRoomDelegate
のonRequestRoomPK()
のコールバック通知を受信します。responseRoomPK()
を呼び出して、キャスター AのPKのリクエストを受け入れるかどうか決定します。TRTCLiveRoomDelegate
のonAnchorEnter()
の通知を待ってから、startPlay()
を呼び出してキャスターAのビデオ画面を表示させます。responseCallback
のコールバック通知を受信します。この通知にはキャスター B の処理結果が含まれます。TRTCLiveRoomDelegate
のonAnchorEnter()
の通知を待ってから、startPlay()
を呼び出し、キャスターBのビデオ画面を表示します。キャスターがルーム間PKのリクエストに応答します。キャスターが応答した後、相手側キャスターは requestRoomPK
で渡されたresponseCallback
のコールバックを受信します。
/// ルーム間PKのリクエストに応答します。
/// キャスターが他のルームのキャスターのPKのリクエストに応答します。
/// - Parameters:
/// - user: PKをリクエストしたキャスターID
/// - agree: true:同意;false:拒否。
/// - reason: PKに同意/拒否した理由の説明
/// - Note: キャスターの回答後、相手側キャスターは`requestRoomPK`で渡された`responseCallback`のコールバックを受信します。
- (void)responseRoomPKWithUserID:(NSString *)userID
agree:(BOOL)agree
reason:(NSString *)reason
NS_SWIFT_NAME(responseRoomPK(userID:agree:reason:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
userID | String | PKをリクエストしたキャスターID。 |
agree | Bool | true:同意;false:拒否。 |
reason | String? | PKに同意/拒否した理由の説明。 |
ルーム間PKから退出します。PK中のいずれかのキャスターがルーム間PK 状態から退出すると、もう一方のキャスターはTRTCLiveRoomDelegate
のtrtcLiveRoomOnQuitRoomPK()
のコールバック通知を受信します。
/// キャスターがルーム間PKから退出します。
/// - Parameter callback: ルーム間PK退出の結果のコールバック
/// - Note: 2名のキャスターのうちのいずれかがルーム間PKの状態から退出した後、もう一方のキャスターは `trtcLiveRoomOnQuitRoomPK`のコールバック通知を受信します。
- (void)quitRoomPK:(Callback _Nullable)callback
NS_SWIFT_NAME(quitRoomPK(callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
callback | (_ code: Int, _ message: String?) -> Void | 操作コールバック。 |
フロント/リアカメラを切り替えます。
/// フロント/リアカメラを切り替えます
- (void)switchCamera;
ミラー表示のオン/オフを設定します。
/// ミラー表示のオン/オフを設定します
/// - Parameter isMirror: ミラーオン/オフ。
- (void)setMirror:(BOOL)isMirror
NS_SWIFT_NAME(setMirror(isMirror:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
isMirror | Bool | ミラーオン/オフ。 |
ローカルオーディオをミュートにします。
/// ローカルオーディオをミュートにします。
/// - Parameter isMuted: true:ミュートオン;false:ミュートオフ
- (void)muteLocalAudio:(BOOL)isMuted
NS_SWIFT_NAME(muteLocalAudio(isMuted:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
isMuted | Bool | true:ミュートオン、false:ミュートオフ。 |
リモートのオーディオをミュートにします。
/// リモートオーディオをミュートにします
/// - Parameters:
/// - userID: リモートのユーザーID。
/// - isMuted: true:ミュートオン;false:ミュートオフ
- (void)muteRemoteAudioWithUserID:(NSString *)userID isMuted:(BOOL)isMuted
NS_SWIFT_NAME(muteRemoteAudio(userID:isMuted:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
userID | String | リモートのユーザーのID。 |
isMuted | Bool | true:ミュートオン、false:ミュートオフ。 |
すべてのリモート側のオーディオをミュートにします。
/// すべてのリモート側のオーディオをミュートにします
/// - Parameter isMuted: true:ミュートオン;false:ミュートオフ
- (void)muteAllRemoteAudio:(BOOL)isMuted
NS_SWIFT_NAME(muteAllRemoteAudio(_:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
isMuted | Bool | true:ミュートオン、false:ミュートオフ。 |
音質の設定
/// 音質を設定します。サポートする値は1 2 3で、低中高を表します
/// - Parameter quality音質
- (void)setAudioQuality:(NSInteger)quality
NS_SWIFT_NAME(setAudioiQuality(quality:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
quality | NSInteger | 1:音声、2:標準、3:音楽 |
BGMサウンドエフェクト管理オブジェクト TXAudioEffectManagerを取得します。
/// サウンドエフェクト管理オブジェクトを取得します。
- (TXAudioEffectManager *)getAudioEffectManager;
美顔管理オブジェクトTXBeautyManagerを取得します。 |
/* 美顔管理オブジェクト TXBeautyManagerを取得します
*
* 美顔管理では、次の機能を利用できます。
* - 「美顔のスタイル」、「美白」、「肌色補正(血色・つや感)」、「デカ眼」、「顔痩せ」、「V顔」、「下あご」、「面長補正」、「小鼻」、「キラキラ目」、「白い歯」、「目の弛み除去」、「シワ除去」、「ほうれい線除去」などの美容効果を設定します。
* - 「髪の生え際」、「眼と眼の距離」、「眼の角度」、「唇の形」、「鼻翼」、「鼻の位置」、「唇の厚さ」、「顔の形」を調整します。
* - 人の顔のスタンプ(素材)等のダイナミック効果を設定します
* - メイクアップを追加します
* - ジェスチャー認識を行います
*/
- (TXBeautyManager *)getBeautyManager;
美顔管理では、次の機能を使用できます。
ルーム内でテキストメッセージをブロードキャストします。通常、弾幕によるチャットに使用します。
/// 送信したテキストメッセージは、ルーム内の全参加者が見ることができます。
/// - Parameters:
/// - message: テキストメッセージ。
/// - callback: 送信コールバック。
- (void)sendRoomTextMsg:(NSString *)message callback:(Callback _Nullable)callback
NS_SWIFT_NAME(sendRoomTextMsg(message:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
message | String | テキストメッセージ。 |
callback | (_ code: Int, _ message: String?) -> Void | 送信結果のコールバック |
カスタマイズしたテキストメッセージを送信します。
/// カスタムメッセージを送信します
/// - Parameters:
/// - command: コマンドワードです。開発者がカスタマイズするもので、主にさまざまなメッセージタイプを区別するために使用されます
/// - message: テキストメッセージ。
/// - callback: 送信コールバック。
- (void)sendRoomCustomMsgWithCommand:(NSString *)command message:(NSString *)message callback:(Callback _Nullable)callback
NS_SWIFT_NAME(sendRoomCustomMsg(command:message:callback:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
command | String | コマンドワードです。開発者がカスタマイズするもので、主にさまざまなメッセージタイプを区別するために使用されます。 |
message | String | テキストメッセージ。 |
callback | (_ code: Int, _ message: String?) -> Void | 送信結果のコールバック。 |
インターフェースにdebug 情報を表示するかどうか。
/// インターフェースにdebug情報を表示するかどうか
/// - Parameter isShow: Debug情報表示のオン/オフ。
- (void)showVideoDebugLog:(BOOL)isShow
NS_SWIFT_NAME(showVideoDebugLog(_:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
isShow | Bool | Debug情報表示のオン/オフ。 |
エラーのコールバック。
説明:SDKリカバリー不能なエラーは必ず監視し、状況に応じてユーザーに適切なインターフェースの注意喚起情報を表示します。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onError:(NSInteger)code
message:(NSString *)message
NS_SWIFT_NAME(trtcLiveRoom(_:onError:message:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
code | Int | エラーコード。 |
message | String? | エラー情報。 |
警告のコールバック。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onWarning:(NSInteger)code
message:(NSString *)message
NS_SWIFT_NAME(trtcLiveRoom(_:onWarning:message:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
code | Int | エラーコード TRTCWarningCode。 |
message | String? | 警告メッセージ。 |
Logコールバック。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onDebugLog:(NSString *)log
NS_SWIFT_NAME(trtcLiveRoom(_:onDebugLog:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
log | String | ログ情報。 |
ルームが破棄された時のコールバック。キャスターが退室する時、ルーム内の全ユーザーがこの通知を受信します。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onRoomDestroy:(NSString *)roomID
NS_SWIFT_NAME(trtcLiveRoom(_:onRoomDestroy:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
roomID | String | ルームID。 |
ライブストリーミングルーム情報変更のコールバック。ライブストリーミングのマイク接続やPKで、ルーム状態の変化を通知するシーンに多用されます。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onRoomInfoChange:(TRTCLiveRoomInfo *)info
NS_SWIFT_NAME(trtcLiveRoom(_:onRoomInfoChange:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
info | TRTCLiveRoomInfo | ルーム情報。 |
新しいキャスターの入室の通知を受信します。マイク接続の視聴者とルーム間PKのキャスターが入室すると、視聴者は、新しいキャスターが入室したというイベントを受信します。TRTCLiveRoom
の startPlay()
を呼び出して、そのキャスターのビデオ画面を表示することができます。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onAnchorEnter:(NSString *)userID
NS_SWIFT_NAME(trtcLiveRoom(_:onAnchorEnter:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
userID | String | 新しくルームに参加したユーザーID。 |
キャスターの退室の通知を受信します。ルーム内のキャスター(およびマイク接続中の視聴者)が、新しいキャスターの退室のイベントを受信します。TRTCLiveRoom
のstopPlay()
を呼び出して、そのキャスターのビデオ画面を閉じることができます。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onAnchorExit:(NSString *)userID
NS_SWIFT_NAME(trtcLiveRoom(_:onAnchorExit:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
userID | String | ルームを退出したユーザーID。 |
視聴者入室通知を受信します。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onAudienceEnter:(TRTCLiveUserInfo *)user
NS_SWIFT_NAME(trtcLiveRoom(_:onAudienceEnter:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
user | TRTCLiveUserInfo | 入室した視聴者の情報。 |
視聴者退室通知を受信します。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onAudienceExit:(TRTCLiveUserInfo *)user
NS_SWIFT_NAME(trtcLiveRoom(_:onAudienceExit:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
user | TRTCLiveUserInfo | 退室した視聴者の情報。 |
キャスターが視聴者のマイク接続リクエストを受信した時のコールバック。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onRequestJoinAnchor:(TRTCLiveUserInfo *)user
reason:(NSString * _Nullable)reason
timeout:(double)timeout
NS_SWIFT_NAME(trtcLiveRoom(_:onRequestJoinAnchor:reason:timeout:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
user | TRTCLiveUserInfo | マイク接続をリクエストした視聴者の情報。 |
reason | String? | マイク接続の理由の説明。 |
timeout | Double | リクエスト処理のタイムアウトの時間。 |
マイク接続の視聴者がマイク接続からキックアウトされた通知を受信します。マイク接続の視聴者は、キャスターからマイク接続キックアウトのメッセージを受信した場合、TRTCLiveRoom
のstopPublish()
を呼び出してマイク接続から退出する必要があります。
- (void)trtcLiveRoomOnKickoutJoinAnchor:(TRTCLiveRoom *)liveRoom
NS_SWIFT_NAME(trtcLiveRoomOnKickoutJoinAnchor(_:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
ルーム間PKのリクエストの通知を受信します。キャスターは、他のルームのキャスターからPKのリクエストを受け取り、PKに同意する場合、TRTCLiveRoomDelegate
のonAnchorEnter()
の通知を待ってから、startPlay()
を呼び出して招待側キャスターのストリームを再生してください。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onRequestRoomPK:(TRTCLiveUserInfo *)user
timeout:(double)timeout
NS_SWIFT_NAME(trtcLiveRoom(_:onRequestRoomPK:timeout:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
user | TRTCLiveUserInfo | ルーム間マイク接続を始動したキャスターの情報。 |
timeout | Double | リクエスト処理のタイムアウトの時間。 |
ルーム間PK中止の通知を受信します。
- (void)trtcLiveRoomOnQuitRoomPK:(TRTCLiveRoom *)liveRoom
NS_SWIFT_NAME(trtcLiveRoomOnQuitRoomPK(_:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
テキストメッセージを受信します。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onRecvRoomTextMsg:(NSString *)message
fromUser:(TRTCLiveUserInfo *)user
NS_SWIFT_NAME(trtcLiveRoom(_:onRecvRoomTextMsg:fromUser:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
message | String | テキストメッセージ。 |
user | TRTCLiveUserInfo | 送信者のユーザー情報。 |
カスタムメッセージを受信します。
- (void)trtcLiveRoom:(TRTCLiveRoom *)trtcLiveRoom
onRecvRoomCustomMsgWithCommand:(NSString *)command
message:(NSString *)message
fromUser:(TRTCLiveUserInfo *)user
NS_SWIFT_NAME(trtcLiveRoom(_:onRecvRoomCustomMsg:message:fromUser:));
パラメータは下表に示すとおりです:
パラメータ | タイプ | 意味 |
---|---|---|
trtcLiveRoom | TRTCLiveRoomImpl | 現在のTRTCLiveRoomコンポーネントインスタンス。 |
command | String | コマンドワードです。開発者がカスタマイズするもので、主にさまざまなメッセージタイプを区別するために使用されます。 |
message | String | テキストメッセージ。 |
user | TRTCLiveUserInfo | 送信者のユーザー情報。 |
この記事はお役に立ちましたか?