Android WebRT C onIceCandidate никогда не вызывается - PullRequest
0 голосов
/ 16 апреля 2020

По этому вопросу уже есть куча вопросов, но все они относятся к Javascript. Я пытаюсь набрать Android, и мой onIceCandidate() никогда не вызывается, когда я звоню setLocalDescription.

private PeerConnection initPeerConnection(boolean isLocal) {

    MediaConstraints sdpConstraints = new MediaConstraints();
    sdpConstraints.mandatory.add(new MediaConstraints.KeyValuePair("offerToReceiveAudio", "true"));
    sdpConstraints.mandatory.add(new MediaConstraints.KeyValuePair("offerToReceiveVideo", "true"));

    List<PeerConnection.IceServer> servers = new ArrayList<>();

    return peerConnectionFactory.createPeerConnection(servers, new CustomPeerConnectionObserver() {
        @Override
        public void onIceCandidate(IceCandidate iceCandidate) {
            super.onIceCandidate(iceCandidate);
            if (isLocal)
                onIceCandidateReceived(localPeerConnection, iceCandidate);
            else
                onIceCandidateReceived(remotePeerConnection, iceCandidate);
        }

        @Override
        public void onAddStream(MediaStream mediaStream) {
            super.onAddStream(mediaStream);
            if (!isLocal)
                gotRemoteStream(mediaStream);
        }
    });
}

Создание соединений:

    localPeerConnection = initPeerConnection(true);
    remotePeerConnection = initPeerConnection(false);

Создание предложения. Теперь он должен вызвать onIceCandidate ():

localPeerConnection.createOffer(new SimpleSdpObserver() {
        @Override
        public void onCreateSuccess(SessionDescription sessionDescription) {
            Log.e("SDP", sessionDescription.description + sessionDescription.type.toString());
            localPeerConnection.setLocalDescription(new SimpleSdpObserver(), sessionDescription);
            sendOffer(sessionDescription);
        }
    }, sdpMediaConstraints);

Но, к сожалению, это не сработает. Что не так? Что должно быть правильным?

ПРИМЕЧАНИЕ: Любой ответ, указанный c на Android JavaScript, будет высоко оценен.

...