SwiftUIRtc


SwiftUIRtc 是一个使用 Agora RTC SDK 和 SwiftUI 构建视频通话应用的软件包。它提供了一组 SwiftUI 视图和类,简化了为视频通话设置和管理 Agora RTC 会话的过程。

这不是 Agora 的官方产品,它只是一个开源项目,旨在帮助开发者以新的方式(例如使用 SwiftUI)使用 RTC 引擎。如果您在使用此仓库中的类时遇到任何问题,请提交 issue 或 PR。Agora 的支持团队可能不了解此软件包。

请参阅 SwiftUIRtc 文档

要求

安装

SwiftUIRtc 可以使用 Xcode 中的 Swift Package Manager 进行安装。只需导航到 File > Swift Packages > Add Package Dependency 并输入仓库 URL,即可将该软件包添加到您的项目中

https://github.com/AgoraIO-Community/SwiftUIRtc.git

用法

要在您的 SwiftUI 项目中使用 SwiftUIRtc,只需导入该软件包并使用提供的视图和类。例如,您可以使用 AgoraVideoCanvasViewAgoraManager 视图来渲染 Agora RTC 会话中的所有视频流

import SwiftUIRtc
import AgoraRtcKit

struct AgoraGettingStartedView: View {
    @ObservedObject var agoraManager = AgoraManager(appId: <#AppId#>, role: .broadcaster)
    var channelId: String = "test"
    var body: some View {
        ScrollView {
            VStack {
                ForEach(Array(agoraManager.allUsers), id: \.self) { uid in
                    AgoraVideoCanvasView(manager: agoraManager, canvasId: .userId(uid))
                        .aspectRatio(contentMode: .fit).cornerRadius(10)
                }
            }.padding(20)
        }.onAppear {
            agoraManager.agoraEngine.joinChannel(
                byToken: <#Agora Temp Token#>, channelId: channelId, info: nil, uid: 0
            )
        }.onDisappear {
            agoraManager.agoraEngine.leaveChannel()
        }
    }
}

贡献

欢迎为 SwiftUIRtc 做出贡献!如果您遇到任何问题或有功能请求,请在 GitHub 仓库上提交 issue。也欢迎提交 Pull Request。

许可证

SwiftUIRtc 基于 MIT 许可证发布。有关更多信息,请参阅 LICENSE 文件。

致谢

SwiftUIRtc 依赖于 Agora.io 开发的 AgoraRtcKit 框架,以实现实时通信功能。