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 を表示するヘルパーです。 UIView in SwiftUI

基本的なビデオレンダリング

Vonage Video iOS SDK を使用してビデオストリームの白黒バージョンを表示するために Swift でカスタムビデオレンダラを使用する方法を学びます。

以下の言語で利用可能:
Kotlin Swift
手順
1
はじめに
2
はじめに
3
新規プロジェクトの作成
4
Vonage Video SDKの追加
5
認証の設定
6
アーキテクチャーを理解する
7
カスタムレンダービューの作成
8
カスタムビデオ・レンダラの作成
9
Vonage Video Managerとの統合
10
SwiftUIラッパーへのUIViewの作成
11
SwiftUIでの表示
12
仕組み
13
結論