SwiftUIRtc
SwiftUIRtc 是一个用于使用 Agora RTC SDK 和 SwiftUI 构建 视频通话应用的软件包。它提供了一套 SwiftUI 视图和类,简化了设置和管理 Agora RTC 会话以进行视频通话的过程。
这并不是 Agora 的官方产品,它仅是一个开源项目,旨在帮助开发者以新的方式使用 RTC 引擎,例如与 SwiftUI 一起使用。如果您在此存储库中的类有任何问题,请提交问题或 PR。Agora 的支持团队可能不知道这个软件包。
请参阅 SwiftUIRtc 文档。
需求
- iOS 14.0+
- Swift 5.7+
- AgoraRtcKit 账户
安装
SwiftUIRtc 可以使用 Xcode 中的 Swift Package Manager 进行安装。只需将包添加到您的项目中,方法是通过导航至文件 > Swift 包 > 添加包依赖项并输入存储库 URL
https://github.com/AgoraIO-Community/SwiftUIRtc.git
用法
要在您的 SwiftUI 项目中使用 SwiftUIRtc,只需导入包并使用提供的视图和类。例如,您可以使用 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 存储库上的问题。也可以提交拉取请求。
许可证
SwiftUIRtc 采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。
鸣谢
SwiftUIRtc 依赖于 Agora.io 开发的实时通信功能框架 AgoraRtcKit。