如何在 peerConnection.CreateAnswer() 中设置

我从互联网上引用并混合了代码,一切正常,但是当我在 pc.createAnswer() 中传递 new MediaContraints() 时,没有调用 pc.setLocalDescription() 方法。但是当我传递像“offerToRecieveAudio”和“video”这样的约束是真的时,会给出像无效约束这样的错误。


谁能帮帮我。


谢谢


 private void createAnswer()

{

    Log.e(TAG,"Create Answer...............................");



    peerConnection.createAnswer(new CustomSdpObserver("create Answer")

    {

        @Override

        public void onCreateSuccess(SessionDescription sessionDescription)

        {

            super.onCreateSuccess(sessionDescription);


            Log.e(TAG,"onCreateAnswer...............................");


            peerConnection.setLocalDescription(new CustomSdpObserver("create Answer Local Description")

            {

                @Override

                public void onCreateSuccess(SessionDescription sessionDescription)

                {

                    super.onCreateSuccess(sessionDescription);


                    try {

                        JSONObject json = new JSONObject();

                        JSONObject jsonObject = new JSONObject();




                        JSONObject sessDescObj = new JSONObject();

                        sessDescObj.put("sdp",sessionDescription.description);

                        sessDescObj.put("type","ANSWER");

                        json.put("type", "rtc");

                        json.put("dest", CustomWebSocketListener.fromUser);

                        jsonObject.put("sdp", sessDescObj);




                        json.put("data",jsonObject);

                        Log.d(TAG,"Answer Success " + json.toString());


                        ws1.send(json.toString());

                    } catch (JSONException e) {

                        e.printStackTrace();

                    }


                }

            }, sessionDescription);

        }


        @Override

        public void onCreateFailure(String s)

        {

            super.onCreateFailure(s);


            Log.e(TAG,"onCreateFailure Answer " + s);

        }



摇曳的蔷薇
浏览 260回答 2
2回答

不负相思意

在Kotlin你可以帮助从下面的例子:private fun PeerConnection.answer(sdpObserver: SdpObserver) {    val constraints = MediaConstraints().apply {        mandatory.add(MediaConstraints.KeyValuePair("OfferToReceiveVideo", "true"))    }    createAnswer(object : SdpObserver by sdpObserver {        override fun onCreateSuccess(p0: SessionDescription?) {            setLocalDescription(object : SdpObserver {                override fun onSetFailure(p0: String?) {                    Log.i("RTCClient", "answer onSetFailure")                }                override fun onSetSuccess() {                    Log.i("RTCClient", "answer onSetSuccess")                }                override fun onCreateSuccess(p0: SessionDescription?) {                    Log.i("RTCClient", "answer onCreateSuccess")                }                override fun onCreateFailure(p0: String?) {                    Log.i("RTCClient", "answer onCreateFailure")                }            }, p0)            sdpObserver.onCreateSuccess(p0)        }    }, constraints)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java