我有一个项目https://github.com/njovy/AppRTCDemo。这个项目工作1 -1调用。我修改了PeerConnectionClient.class:Android WebRTC - 创建1-N电话
private static final PeerConnectionClient instance = new PeerConnectionClient();
// private final PCObserver pcObserver = new PCObserver();
private final PCObserver[] pcObservers = new PCObserver[MAX_CONNECTIONS];
// private final SDPObserver sdpObserver = new SDPObserver();
private final SDPObserver[] sdpObservers = new SDPObserver[MAX_CONNECTIONS];
private final LooperExecutor executor;
private static final int MAX_CONNECTIONS = 3;
private PeerConnectionFactory factory;
private PeerConnection[] peerConnections = new PeerConnection[MAX_CONNECTIONS];
PeerConnectionFactory.Options options = null;
private VideoSource videoSource;
private boolean videoCallEnabled;
private boolean audioCallEnabled;
private boolean preferIsac;
private boolean preferH264;
private boolean videoSourceStopped;
private boolean isError;
private Timer statsTimer;
private VideoRenderer.Callbacks localRender;
private VideoRenderer.Callbacks[] remoteRenders;
private SignalingParameters signalingParameters;
private MediaConstraints pcConstraints;
private MediaConstraints videoConstraints;
private MediaConstraints audioConstraints;
private MediaConstraints sdpMediaConstraints;
private PeerConnectionParameters peerConnectionParameters;
// Queued remote ICE candidates are consumed only after both local and
// remote descriptions are set. Similarly local ICE candidates are sent to
// remote peer after both local and remote description are set.
private LinkedList<IceCandidate>[] queuedRemoteCandidateLists = new LinkedList[MAX_CONNECTIONS];
private PeerConnectionEvents events;
private boolean[] isConnectionInitiator = new boolean[MAX_CONNECTIONS];
private SessionDescription[] localSdps = new SessionDescription[MAX_CONNECTIONS]; // either offer or answer SDP
private MediaStream mediaStream;
private int numberOfCameras;
private VideoCapturerAndroid videoCapturer;
// enableVideo is set to true if video should be rendered and sent.
private boolean renderVideo;
private VideoTrack localVideoTrack;
private VideoTrack[] remoteVideoTracks = new VideoTrack[MAX_CONNECTIONS];
这里https://pastebin.com/c0YCHS6g。我的呼叫活动:https://pastebin.com/8RVwVZRq