Swift
セッションへの接続
次に、Vonage Videoセッションに接続します。自分のオーディオ・ビデオストリームをセッションに公開したり、他の参加者のストリームを見たりする前に、これを行う必要があります。
- 追加
sessionプロパティをクラスに追加します:
// NSObject conformance will be useful for dealing with OTSessionDelegate
final class VonageVideoManager: NSObject, ObservableObject {
// Replace with your Vonage Video APP ID
let kAppId = ""
// Replace with your generated session ID
let kSessionId = ""
// Replace with your generated token
let kToken = ""
private var session: OTSession?
/// ...
}
について オセッション クラスはiOS SDKで定義されている。セッションを表し、セッションと対話するためのメソッドを含んでいます。
- 以前は
OTSessionオブジェクトを呼び出しconnect(withToken: error:)メソッドを呼び出す必要があります。 次に、それを呼び出す必要があります。ここでは、単純な VonageVideoManager を使用しました。setupメソッドでその部分を紹介する:
final class VonageVideoManager: NSObject, ObservableObject {
private var session: OTSession?
public func setup() {
doConnect()
}
private func doConnect() {
session = OTSession(applicationId: kAppId, sessionId: kSessionId, delegate: self)
var error: OTError?
session?.connect(withToken: kToken, error: &error)
if let error {
print(error)
}
}
}
について OTSession() コンストラクターは3つのパラメーターを取る:
- VonageビデオアプリケーションID
- セッションID
- を実装するオブジェクト。 OTSessionDelegate プロトコル
について connect() のメソッドを使用する。 session オブジェクトは、クライアントアプリケーションを Vonage Video セッションに接続します。セッションでオーディオ・ビデオ・ストリームを送受信する前(またはセッションと何らかの方法でやり取りする前)に接続する必要があります。この connect() メソッドは2つのパラメーターを取る:
tokenは、このクライアントがセッションに接続するための認証トークンです。errorメソッド呼び出し時に同期的にエラーが発生した場合は、OTError オブジェクトがセットされます。
- 次に
OTSessionDelegateプロトコルを使用する。以下のコードをVonageVideoManager.swiftファイルの閉じ括弧の後にVonageVideoManagerクラスである:
// MARK: - OTSessionDelegate callbacks
extension VonageVideoManager: OTSessionDelegate {
func sessionDidConnect(_ session: OTSession) {
print("The client connected to the session.")
}
func sessionDidDisconnect(_ session: OTSession) {
print("The client disconnected from the session.")
}
func session(_ session: OTSession, didFailWithError error: OTError) {
print("The client failed to connect to the session: \(error).")
}
func session(_ session: OTSession, streamCreated stream: OTStream) {
print("A stream was created in the session.")
}
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
print("A stream was destroyed in the session.")
}
}
このプロトコルには、セッションに関連するイベントを処理するためのメソッドが含まれている:
- クライアントがVonage Videoセッションに接続すると
sessionDidConnect(_:)メソッドが呼び出される。 - クライアントが Vonage Video セッションへの接続に失敗すると、OTError オブジェクトが
session(_: didFailWithError:)メソッドを使用する。 - クライアントがVonage Videoセッションから切断すると、次のようになります。
sessionDidDisconnect(_:)メソッドが呼び出される。 - 他のクライアントがVonage Videoセッションにストリームを公開する場合。
- 他のクライアントがVonage Videoセッションへのストリーム配信を停止した場合。
今のところ、これらのイベントが発生すると、アプリはデバッガー・コンソールにプリントする。
アプリケーションをデバッグします。アプリがVonage Videoセッションに正常に接続されると sessionDidConnect(_:) メソッドはデバッグ・コンソールに表示する。
基本的なビデオチャット
Vonage Video API プラットフォームの基本概念(ビデオ、音声、メッセージングによるユーザ間のコミュニケーション方法など)を学びます。Vonage Video API の基本的なフローを説明します。
手順
1
はじめに2
はじめに3
新規プロジェクトの作成4
Vonageビデオライブラリの追加5
認証の設定6
セッションへの接続7
セッションへのストリームの公開8
他のクライアントのストリームを購読する9
アプリの実行10
結論