【问题标题】:agora.io Swift Users can not connect to the same channelagora.io Swift 用户无法连接到同一个频道
【发布时间】:2021-12-19 16:13:15
【问题描述】:

我的agora 帐户在android 上运行良好。使用具有最新 sdk 的 ios 相同帐户,我可以让用户加入具有相同 ID 但两个用户从未连接过的频道,当其他用户登录时没有回调并且没有语音(设法使其第一次工作?)

导入基础 导入 AgoraRtcKit

类 AgoraViewController: UIViewController {

var agoraKit: AgoraRtcEngineKit?
var agoraDelegate: AgoraRtcEngineDelegate?

override func viewDidLoad() {
    super.viewDidLoad()
    initializeAgoraEngine()
    joinChannel()
}

override func viewWillDisappear(_ animated: Bool) {
    leaveChannel()
    destroyInstance()
}

func initializeAgoraEngine() {
    agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: "Valid Id i can give if needed", delegate: agoraDelegate)
}

func joinChannel() {
    let result = agoraKit?.joinChannel(byToken: "Token", channelId: "TestChannel2", info: nil, uid: 0, joinSuccess: {(channel, uid, elapsed) in
        
    })
    
    //result is zero as expected
}

func rtcEngine(_ engine: AgoraRtcEngineKit, didJoinedOfUid uid: UInt, elapsed: Int) {
     
  //is never called
}

func leaveChannel() {
    agoraKit?.leaveChannel(nil)
}

func destroyInstance() {
    AgoraRtcEngineKit.destroy()
}

}

【问题讨论】:

    标签: swift agora.io


    【解决方案1】:

    对于令牌字段,您是否使用为正确频道名称制作的临时令牌?仅供参考,这些令牌会在 24 小时后过期。

    如果您使用的是 3.x SDK,那么其他一切都应该没问题。可能值得添加对agoraKit?.enableVideo() 的调用,这里的这个项目从头开始进行最低限度的设置,可能值得一看:

    https://github.com/AgoraIO-Community/Agora-iOS-SwiftPM/tree/main/Agora_SDK-Example

    该仓库中的另一个项目使用 Agora UIKit,这将更容易设置。

    【讨论】:

    • 感谢您的回答。似乎该问题与委托有关。根本没有令牌问题。我使用了一个完全不同的代码来连接并且它工作正常。还是不知道为什么这里不是这样。
    • 哦,我现在明白了,您需要在引擎创建中输入self 而不是agoraDelegate。很高兴你成功了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    相关资源
    最近更新 更多