//// BaseVC.swift// APIExample//// Created by 张乾泽 on 2020年4月17日.// Copyright © 2020 Agora Corp. All rights reserved.//import UIKitimport AGEVideoLayoutclass BaseViewController: AGViewController {var configs: [String:Any] = [:]override func viewDidLoad() {// self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Show Log",// style: .plain,// target: self,// action: #selector(showLog))LogUtils.removeAll()}@objc func showLog() {let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)let newViewController = storyBoard.instantiateViewController(withIdentifier: "LogViewController")self.present(newViewController, animated: true, completion: nil)}func showAlert(title: String? = nil, message: String) {let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)let action = UIAlertAction(title: "OK", style: .cancel, handler: nil)alertController.addAction(action)self.present(alertController, animated: true, completion: nil)}func getAudioLabel(uid:UInt, isLocal:Bool) -> String {return "AUDIO ONLY\n\(isLocal ? "Local" : "Remote")\n\(uid)"}}extension AGEVideoContainer {func layoutStream(views: [AGView]) {let count = views.countvar layout: AGEVideoLayoutif count == 1 {layout = AGEVideoLayout(level: 0).itemSize(.scale(CGSize(width: 1, height: 1)))} else if count == 2 {layout = AGEVideoLayout(level: 0).itemSize(.scale(CGSize(width: 0.5, height: 1)))} else if count > 2, count < 5 {layout = AGEVideoLayout(level: 0).itemSize(.scale(CGSize(width: 0.5, height: 0.5)))} else {return}self.listCount { (level) -> Int inreturn views.count}.listItem { (index) -> AGEView inreturn views[index.item]}self.setLayouts([layout])}func layoutStream1x2(views: [AGView]) {let count = views.countvar layout: AGEVideoLayoutif count > 2 {return} else {layout = AGEVideoLayout(level: 0).itemSize(.scale(CGSize(width: 1, height: 0.5)))}self.listCount { (level) -> Int inreturn views.count}.listItem { (index) -> AGEView inreturn views[index.item]}self.setLayouts([layout])}func layoutStream2x1(views: [AGView]) {let count = views.countvar layout: AGEVideoLayoutif count > 2 {return} else {layout = AGEVideoLayout(level: 0).itemSize(.scale(CGSize(width: 0.5, height: 1)))}self.listCount { (level) -> Int inreturn views.count}.listItem { (index) -> AGEView inreturn views[index.item]}self.setLayouts([layout])}func layoutStream3x2(views: [AGView]) {let count = views.countvar layout: AGEVideoLayoutif count > 6 {return} else {layout = AGEVideoLayout(level: 0).itemSize(.scale(CGSize(width: 0.33, height: 0.5)))}self.listCount { (level) -> Int inreturn views.count}.listItem { (index) -> AGEView inreturn views[index.item]}self.setLayouts([layout])}func layoutStream3x3(views: [AGView]) {let count = views.countvar layout: AGEVideoLayoutif count > 9 {return} else {layout = AGEVideoLayout(level: 0).itemSize(.scale(CGSize(width: 0.33, height: 0.33)))}self.listCount { (level) -> Int inreturn views.count}.listItem { (index) -> AGEView inreturn views[index.item]}self.setLayouts([layout])}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。