//// ViewController.swift// APIExample//// Created by 张乾泽 on 2020年4月16日.// Copyright © 2020 Agora Corp. All rights reserved.//import UIKitstruct MenuSection {var name: Stringvar rows:[MenuItem]}struct MenuItem {var name: Stringvar entry: String = "EntryViewController"var storyboard: String = "Main"var controller: Stringvar note: String = ""}class ViewController: AGViewController {var menus:[MenuSection] = [MenuSection(name: "Basic", rows: [MenuItem(name: "Join a channel (Video)".localized, storyboard: "JoinChannelVideo", controller: ""),MenuItem(name: "Join a channel (Audio)".localized, storyboard: "JoinChannelAudio", controller: "")]),MenuSection(name: "Anvanced", rows: [MenuItem(name: "RTMP Streaming".localized, storyboard: "RTMPStreaming", controller: "RTMPStreaming"),MenuItem(name: "Media Injection".localized, storyboard: "RTMPInjection", controller: "RTMPInjection".localized),MenuItem(name: "Video Metadata".localized, storyboard: "VideoMetadata", controller: "VideoMetadata".localized),MenuItem(name: "Voice Changer".localized, storyboard: "VoiceChanger", controller: ""),MenuItem(name: "Custom Audio Source".localized, storyboard: "CustomAudioSource", controller: "CustomAudioSource"),MenuItem(name: "Custom Audio Render".localized, storyboard: "CustomAudioRender", controller: "CustomAudioRender"),MenuItem(name: "Custom Video Source(MediaIO)".localized, storyboard: "CustomVideoSourceMediaIO", controller: "CustomVideoSourceMediaIO"),MenuItem(name: "Custom Video Source(Push)".localized, storyboard: "CustomVideoSourcePush", controller: "CustomVideoSourcePush"),MenuItem(name: "Custom Video Render".localized, storyboard: "CustomVideoRender", controller: "CustomVideoRender"),MenuItem(name: "Raw Media Data".localized, storyboard: "RawMediaData", controller: "RawMediaData"),MenuItem(name: "Quick Switch Channel".localized, controller: "QuickSwitchChannel"),MenuItem(name: "Join Multiple Channels".localized, storyboard: "JoinMultiChannel", controller: "JoinMultiChannel"),MenuItem(name: "Stream Encryption".localized, storyboard: "StreamEncryption", controller: ""),MenuItem(name: "Audio Mixing".localized, storyboard: "AudioMixing", controller: ""),MenuItem(name: "Precall Test".localized, storyboard: "PrecallTest", controller: ""),MenuItem(name: "Media Player".localized, storyboard: "MediaPlayer", controller: ""),MenuItem(name: "Screen Share".localized, storyboard: "ScreenShare", controller: ""),MenuItem(name: "Media Channel Relay".localized, storyboard: "MediaChannelRelay", controller: "")]),]}extension ViewController: UITableViewDataSource {func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {return menus[section].rows.count}func numberOfSections(in tableView: UITableView) -> Int {return menus.count}func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {return menus[section].name}func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {let cellIdentifier = "menuCell"var cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier)if cell == nil {cell = UITableViewCell(style: .default, reuseIdentifier: cellIdentifier)}cell?.textLabel?.text = menus[indexPath.section].rows[indexPath.row].namereturn cell!}}extension ViewController: UITableViewDelegate {func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {tableView.deselectRow(at: indexPath, animated: true)let menuItem = menus[indexPath.section].rows[indexPath.row]let storyBoard: UIStoryboard = UIStoryboard(name: menuItem.storyboard, bundle: nil)if(menuItem.storyboard == "Main") {guard let entryViewController = storyBoard.instantiateViewController(withIdentifier: menuItem.entry) as? EntryViewController else { return }entryViewController.nextVCIdentifier = menuItem.controllerentryViewController.title = menuItem.nameentryViewController.note = menuItem.noteself.navigationController?.pushViewController(entryViewController, animated: true)} else {let entryViewController:UIViewController = storyBoard.instantiateViewController(withIdentifier: menuItem.entry)self.navigationController?.pushViewController(entryViewController, animated: true)}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。