//// VideoView.swift// APIExample//// Created by 张乾泽 on 2020年9月16日.// Copyright © 2020 Agora Corp. All rights reserved.//import UIKitextension Bundle {static func loadView<T>(fromNib name: String, withType type: T.Type) -> T {if let view = Bundle.main.loadNibNamed(name, owner: nil, options: nil)?.first as? T {return view}fatalError("Could not load view with type " + String(describing: type))}static func loadVideoView(type:VideoView.StreamType, audioOnly:Bool) -> VideoView {let view = Bundle.loadView(fromNib: "VideoView", withType: VideoView.self)view.audioOnly = audioOnlyview.type = typeif(type.isLocal()) {view.statsInfo = StatisticsInfo(type: .local(StatisticsInfo.LocalInfo()))} else {view.statsInfo = StatisticsInfo(type: .remote(StatisticsInfo.RemoteInfo()))}return view}}class VideoView: UIView {@IBOutlet weak var videoView:UIView!@IBOutlet weak var placeholderLabel:UILabel!@IBOutlet weak var infoLabel:UILabel!@IBOutlet weak var statsLabel:UILabel!var audioOnly:Bool = falsevar uid:UInt = 0enum StreamType {case localcase remotefunc isLocal() -> Bool{switch self {case .local: return truecase .remote: return false}}}var statsInfo:StatisticsInfo? {didSet{statsLabel.text = statsInfo?.description(audioOnly: audioOnly)}}var type:StreamType?func setPlaceholder(text:String) {placeholderLabel.text = text}func setInfo(text:String) {infoLabel.text = text}override func awakeFromNib() {super.awakeFromNib()statsLabel.layer.shadowColor = UIColor.appColor(.textShadow)?.cgColorstatsLabel.layer.shadowOffset = CGSize(width: 1, height: 1)statsLabel.layer.shadowRadius = 1.0statsLabel.layer.shadowOpacity = 0.7}}class MetalVideoView: UIView {@IBOutlet weak var placeholder: UILabel!@IBOutlet weak var videoView: AgoraMetalRender!@IBOutlet weak var infolabel: UILabel!override func awakeFromNib() {super.awakeFromNib()}func setPlaceholder(text:String) {placeholder.text = text}func setInfo(text:String) {infolabel.text = text}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。