网络用户不';在agora sdk中看不到ios用户

网络用户不';在agora sdk中看不到ios用户,ios,capacitor,agora.io,Ios,Capacitor,Agora.io,我已经使用capacitorjs框架将agora sdk实现到web中。它可以在所有设备浏览器上正常工作,如ios safari、android chrome、台式机等。它也可以在android WebView上正常工作。ios上出现了问题。在文档中写到,必须有一个ios的本机实现。我使用了agora官方文档()中的示例,看起来ios用户听到了其他人的声音,但没有人听到ios用户的声音。我做错了什么?是否有其他魔法设置?我在ios 13上测试。以下是ios的实现: import Foundati

我已经使用capacitorjs框架将agora sdk实现到web中。它可以在所有设备浏览器上正常工作,如ios safari、android chrome、台式机等。它也可以在android WebView上正常工作。ios上出现了问题。在文档中写到,必须有一个ios的本机实现。我使用了agora官方文档()中的示例,看起来ios用户听到了其他人的声音,但没有人听到ios用户的声音。我做错了什么?是否有其他魔法设置?我在ios 13上测试。以下是ios的实现:

import Foundation
import Capacitor
import AgoraRtcKit

@objc(AgoraIos)
public class AgoraIos: CAPPlugin {

    var agoraKit: AgoraRtcEngineKit!

    @objc func initialize(_ call: CAPPluginCall) {
      let appId = call.getString("appId");
      agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: appId, delegate: nil);
      call.resolve();
    }

    @objc func join(_ call: CAPPluginCall) {
        let channelName = call.getString("channelName");
        let userId = call.getString("userId");
        agoraKit.joinChannel(byToken: nil, channelId: channelName, info:nil, uid: userId) {[unowned self] (sid, uid, elapsed) -> Void in
            self.agoraKit.setEnableSpeakerphone(true);
            call.resolve();
        }
    }

    @objc func leave(_ call: CAPPluginCall) {
        agoraKit.leaveChannel(nil);
        call.resolve();
    }

    @objc func talk(_ call: CAPPluginCall) {
        agoraKit.muteLocalAudioStream(true);
        call.resolve();
    }

    @objc func mute(_ call: CAPPluginCall) {
        agoraKit.muteLocalAudioStream(false);
        call.resolve();
    }
}

您可能传递了不同的频道名称。您是否已验证通道在运行时是相同的?此代码不显示这些值。也可能您有不同的appId。ios用户可以听到web用户的声音。这意味着他们在同一个房间里。是吗?你说得对。但我明白你的问题。假设您在某个时候调用了
talk()
,您将错误的值传递给了
muteLocalAudioStream
。我尝试了很多不同的配置。在官方的例子(我在上面链接)中,情况是一样的。此外,网络用户没有看到频道中有新人的任何事件。您使用的是什么版本的Agora SDK?如果低于3.0.0,则需要调用EnableWebSDK互操作性以使iOS SDK与web SDK一起工作。(默认情况下,3.0.0以后版本已启用)。