WebRtc音频传输在几秒钟后停止

时间:2017-11-21 15:48:55

标签: android webrtc simplewebrtc openwebrtc openwebrtcdemo

从最近几天开始我正在研究WebRtc我在服务器端和android端设置了所有内容,但是当我通过Android设备呼叫时,几秒钟之后音频传输停止了,而它正在运行良好的网络到网络,那么什么是我在android方面做错了。

以下是我用于设置WebRtc的代码

 PeerConnectionFactory.initializeAndroidGlobals(listener, true, true, 
 params.videoCodecHwAcceleration, mEGLcontext);

 factory = new PeerConnectionFactory();
 localMS = factory.createLocalMediaStream("ARDAMS");

 pcConstraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveAudio", "true"));
 pcConstraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveVideo", "true"));
 pcConstraints.optional.add(new MediaConstraints.KeyValuePair("DtlsSrtpKeyAgreement", "true"));
 pcConstraints.optional.add(new MediaConstraints.KeyValuePair("internalSctpDataChannels", "true"));

 if(pcParams.videoCallEnabled){
        MediaConstraints videoConstraints = new MediaConstraints();
        videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxHeight", Integer.toString(pcParams.videoHeight)));
        videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxWidth", Integer.toString(pcParams.videoWidth)));
        videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxFrameRate", Integer.toString(pcParams.videoFps)));
        videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("minFrameRate", Integer.toString(pcParams.videoFps)));

        videoSource = factory.createVideoSource(getVideoCapturer(), videoConstraints);
        localMS.addTrack(factory.createVideoTrack("ARDAMSv0", videoSource));
    }

 MediaConstraints audioConstraints = new MediaConstraints();
 audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair(AUDIO_ECHO_CANCELLATION_CONSTRAINT, "true"));
 audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair(AUDIO_NOISE_SUPPRESSION_CONSTRAINT, "true"));

 AudioSource audioSource = factory.createAudioSource(audioConstraints);

 localMS.addTrack(factory.createAudioTrack("ARDAMSa0", audioSource));

 mListener.onLocalStream(localMS);

0 个答案:

没有答案