视频SDK可更轻松地集成
#编程 #ios #swift #视频

各种各样的视频SDK

越来越多的公司加入了视频服务行业,各种视频SDK正在出现。开发人员选择视频SDK也变得越来越困难。

我们应该如何选择适合我们的视频SDK

简单成为主流

使用SDK开发人员的目的是在节省开发时间的同时获得稳定且高质量的服务。

因此,在确保SDK的稳定性和质量的同时,访问的便利已成为各个企业的目标。

对于构建音频和视频应用程序的开发人员来说,这是节省时间。

例如,ZEGOCLOUD推出的最新Uikits产品使将视频SDK集成到新的高度方面。开发人员只能在30分钟内实现音频和视频通话功能。

UI套件SDK提供20多个UIKIT,50多个组件,支持视频呼叫,语音呼叫,实时流媒体和其他方案以构建,支持丰富的配置项目配置,方便且快速自定义UI。

集成视频SDK

让我们以 iOS视频SDK 为例,以体验Uikits SDK逐步带来的便利。

1)将SDK添加到项目

通过吊舱介绍zegouikitprebuiltcall sdk,如下所示,在podfile文件中添加pod'zegouikitprebuiltcall'。然后在终端执行命令pod install。有关详细操作,请参阅Quick Access Documentation

target 'ZegoCallDemo' do
  use_frameworks!

  # Pods for ZegoCallDemo
  pod 'ZegoUIKitPrebuiltCall'

end

2)将iOS视频SDK导入您的项目

在需要称为SDK接口的文件中,通过导入导入SDK。

import ZegoUIKitSDK
import ZegoUIKitPrebuiltCall
// YourViewController.swift
class ViewController: UIViewController {
    //Other code...
}

3)在您的项目中显示ZegouikitPrebuiltCallVC

接下来,您只需要在需要启动视频调用以完成SDK访问的模块中显示ZegouikitPrebuiltCallVC。
进入页面之前,需要完成三个步骤:

  • 转到ZEGOCLOUD Admin Console,获取您项目的苹果和应用标志。
  • 指定连接呼叫套件服务的用户ID和用户名。
  • 创建一个代表您要拨打的呼叫的呼叫。
// YourViewController.swift
class ViewController: UIViewController {
    // Other code...
    var userID: String = <#UserID#>
    var userName: String = <#UserName#>
    var callID: String = <#CallID#>

    @IBAction func makeNewCall(_ sender: Any) {

        let config: ZegoUIkitPrebuiltCallConfig = ZegoUIkitPrebuiltCallConfig()
        let audioVideoConfig: ZegoPrebuiltAudioVideoViewConfig = ZegoPrebuiltAudioVideoViewConfig()
        let menuBarConfig: ZegoBottomMenuBarConfig = ZegoBottomMenuBarConfig()
        config.audioVideoViewConfig = audioVideoConfig
        config.bottomMenuBarConfig = menuBarConfig
        let layout: ZegoLayout = ZegoLayout()
        layout.mode = .pictureInPicture
        let pipConfig: ZegoLayoutPictureInPictureConfig = ZegoLayoutPictureInPictureConfig()
        pipConfig.smallViewPostion = .topRight
        layout.config = pipConfig
        config.layout = layout


        let callVC = ZegoUIKitPrebuiltCallVC.init(yourAppID, 
                                                  appSign: yourAppSign, 
                                                  userID: self.userID, 
                                                  userName: self.userName, 
                                                  callID: self.callID, 
                                                  config: config)


        callVC.modalPresentationStyle = .fullScreen
        self.present(callVC, animated: true, completion: nil)
    }
}

4)配置您的项目

最后,您只需要将摄像机和麦克风权限添加到iOS配置文件信息。

<key>NSCameraUsageDescription</key>
<string>We require camera access to connect to a call</string>
<key>NSMicrophoneUsageDescription</key>
<string>We require microphone access to connect to a call</string>

video-sdk

自定义预构建UI

zegocloud呼叫套件提供了许多自定义接口,您可以根据需要修改这些界面。例如,在呼叫页面上,我们可以达到以下效果:

1)当我的相机关闭时显示我的视图

如果关闭相机时仍想显示自己的视频视图,只需将showMyViewWithVideoOnly参数设置为true即可实现。

layout_show_self

2)当我的相机关闭时隐藏我的看法

如果要在关闭相机时隐藏自己的视频视图,只需将showMyViewWithVideoOnly参数设置为kude2中的false即可隐藏它。

layout_hidden_self

3)拖动小视图

如果要实现拖动视频视图的功能,只需在ZegoUIkitPrebuiltCallConfig中设置isSmallViewDraggable参数。

layout_draggable

4)切换两个视频视图的内容

如果要切换两个视频视图的内容,只需在zegouikitprebuiltcallconfig中设置switchlargeorsmallviewbyclick参数。
layout_switch

这是参考代码:

class ViewController: UIViewController {

    let selfUserID: String = "userID"
    let selfUserName: String = "userName"
    let yourAppID: UInt32 = YourAppID; // Fill in the appID that you get from ZEGOCLOUD Admin Console.
    let yourAppSign: String = YourAppSign; // Fill in the appSign that you get from ZEGOCLOUD Admin Console.

    @IBOutlet weak var userIDLabel: UILabel! {
        didSet {
            userIDLabel.text = selfUserID
        }
    }
    @IBOutlet weak var userNameLabel: UILabel! {
        didSet {
            selfUserName = String(format: "zego_%@", selfUserID)
            userNameLabel.text = selfUserName
        }
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    @IBAction func makeNewCall(_ sender: Any) {

        let config: ZegoUIkitPrebuiltCallConfig = ZegoUIkitPrebuiltCallConfig()

        let layout: ZegoLayout = ZegoLayout()
        layout.mode = .pictureInPicture
        let pipConfig: ZegoLayoutPictureInPictureConfig = ZegoLayoutPictureInPictureConfig()
        pipConfig.showMyViewWithVideoOnly = false;
        pipConfig.isSmallViewDraggable = true;
        pipConfig.switchLargeOrSmallViewByClick = true;
        layout.config = pipConfig
        config.layout = layout

        let callVC = ZegoUIKitPrebuiltCallVC.init(yourAppID, appSign: yourAppSign, userID: selfUserID, userName: self.selfUserName ?? "", callID: "100", config: config)
        callVC.modalPresentationStyle = .fullScreen
        self.present(callVC, animated: true, completion: nil)
    }
}

Sign up带有Zegocloud,并获得 10,000分钟每个月免费。

你可知道? ð

喜欢跟随是我最大的鼓励
跟随我了解更多的技术知识
谢谢您的阅读:)

学到更多

这是现场技术文章之一。欢迎来到其他文章: