通话模式仅enableAudio,进入频道后调用muteLocalAudioStream对端收不到userJoin回调

RT.
想问一下我们SDK这边,在这样设置的时候,是真的没有建立到推流端的连接,还是仅是从拉流端屏蔽了该回调?

对端是什么平台的?web 端吗?

请确认该用户 setChannelProfile 设置的频道场景是 AgoraChannelProfileCommunication 吗?

能否提供一下双端的 SDK log,我们来看下

确认是使用了通话模式。

这边代码暂时不方便给。但是复现很简单。

  1. 设置enableAudio,disableVideo
  2. 设置通话模式
  3. 设置 muteLocalAudioStream
  4. 加入频道
  5. 对端现象是收不到本端推流回调

所以想问一下我们SDK这边,在这样设置的时候,是推流端由于仅打开了音频模块,但又禁止推音频流,所以没有建立推流数据的连接,还是仅是从拉流端屏蔽了该推流的回调?

这个回调具体是指哪个回调?能给个截图或者文档链接吗?

你的调用时序稍微有点问题哈,muteLocalAudioStream 一般是需要在 joinChannel 后调用。

写错顺序了:rofl:

接口是这个

远端用户/主播加入回调
- (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed

好的,我们本地测试一下。

最好能直接提供日志给我们来排查,https://docs.agora.io/cn/faq/logfile

感谢感谢,现在主要是对这个感觉有点困扰。

这边排查有初步结果了吗?:grin:

我这边按照你的调用时序,本地测试了一下,对端是可以收到 didJoinedOfUid 回调的。

应该是你的集成逻辑有问题,请确认有正确添加 didJoinedOfUid 回调监听。

    func joinChannel() {
        agoraKit.joinChannel(byToken: Token, channelId: "demo", info:nil, uid:0) {[unowned self] (sid, uid, elapsed) -> Void in
            // Joined channel "demoChannel"
            self.agoraKit.muteLocalAudioStream(true)
            self.agoraKit.setEnableSpeakerphone(true)
            UIApplication.shared.isIdleTimerDisabled = true
        }
    }