Swift
Vonage Video Managerとの統合
あなたの VonageVideoManager.swiftカスタムレンダラのインスタンスを作成し、パブリッシャーに割り当てます:
import OpenTok
import SwiftUI
final class VonageVideoManager: NSObject, ObservableObject {
let kAppId = "YOUR_APP_ID"
let kSessionId = "YOUR_SESSION_ID"
let kToken = "YOUR_TOKEN"
// Create the custom renderer instance
let renderer = CustomVideoRender()
private lazy var publisher: OTPublisher? = {
let settings = OTPublisherSettings()
settings.name = UIDevice.current.name
return OTPublisher(delegate: self, settings: settings)
}()
@Published var pubView: AnyView?
private func doPublish() {
var error: OTError?
defer {
processError(error)
}
// Assign the custom renderer to the publisher
guard let publisher else { return }
publisher.videoRender = renderer
session?.publish(publisher, error: &error)
// Setup view hierarchy
guard let pubView = publisher.view else { return }
pubView.frame = CGRect(x: 0, y: 0, width: 250, height: 250)
renderer.view.frame = CGRect(x: 0, y: 0, width: 250, height: 250)
pubView.addSubview(renderer.view)
// Wrap UIView for SwiftUI
DispatchQueue.main.async {
self.pubView = AnyView(Wrap(pubView))
}
}
}
重要なポイント
- のインスタンスを1つ作成する。
CustomVideoRender(再利用し、複数のインスタンスを作らない)。 - に割り当てる。
publisher.videoRender以前 出版 - レンダラのビューをパブリッシャーのビューのサブビューとして追加する
- を使用する。
Wrapを表示するヘルパーです。UIViewin SwiftUI
基本的なビデオレンダリング
Vonage Video iOS SDK を使用してビデオストリームの白黒バージョンを表示するために Swift でカスタムビデオレンダラを使用する方法を学びます。
手順
1
はじめに2
はじめに3
新規プロジェクトの作成4
Vonage Video SDKの追加5
認証の設定6
アーキテクチャーを理解する7
カスタムレンダービューの作成8
カスタムビデオ・レンダラの作成9
Vonage Video Managerとの統合10
SwiftUIラッパーへのUIViewの作成11
SwiftUIでの表示12
仕組み13
結論