Swift
Integración con Vonage Video Manager
En su VonageVideoManager.swiftcrea una instancia del renderizador personalizado y asígnala al editor:
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))
}
}
}
Puntos clave:
- Crear una única instancia de
CustomVideoRender(reutilízalo, no crees varias instancias) - Asignarlo a
publisher.videoRenderantes de publicación - Añadir la vista del renderizador como una subvista de la vista del editor
- Utilice un
Wrappara mostrarUIViewen SwiftUI
Renderizado básico de vídeo
Aprende a usar un renderizador de video personalizado en Swift para mostrar una versión en blanco y negro de una transmisión de video usando el SDK de Vonage Video para iOS.
Pasos
1
Introducción2
Primeros pasos3
Crear un nuevo proyecto4
Añadir el SDK de vídeo de Vonage5
Configuración de la autenticación6
Comprender la arquitectura7
Crear la vista de renderizado personalizada8
Crear el renderizador de vídeo personalizado9
Integración con Vonage Video Manager10
Crear UIView a SwiftUI Wrapper11
Visualización en SwiftUI12
Cómo funciona13
Conclusión