SwiftUIRtc
SwiftUIRtc 是一个用于使用 Agora RTC SDK 和 SwiftUI 构建视频通话应用程序的包。它提供了一系列 SwiftUI 视图和类,简化了设置和管理 Agora RTC 会话以进行视频通话的工作。
这不是 Agora 的官方产品,它仅仅是一个开源项目,旨在帮助开发者用新的方法(如使用 SwiftUI)使用 RTC 引擎。如果您在这个存储库中的类有问题,请打开一个问题或一个 PR。Agora 的支持团队可能不会了解这个包。
查看 SwiftUIRtc 文档。
需求
- iOS 14.0+
- Swift 5.7+
- AgoraRtcKit 账户
安装
您可以使用 Xcode 中的 Swift 包管理器安装 SwiftUIRtc。只需将包添加到您的项目中,方法是转到文件 > Swift 包 > 添加包依赖项,并输入仓库 URL。
https://github.com/AgoraIO-Community/SwiftUIRtc.git
使用
要将 SwiftUIRtc 集成到您的 SwiftUI 项目中,只需导入该包并使用提供的视图和类。例如,您可以使用 AgoraVideoCanvasView
和 AgoraManager
视图来渲染 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。