是否可以在webRTC视频通话中动态删除和添加音频流而无需重新协商

时间:2019-07-09 03:20:08

标签: java android webrtc

我正在做一个webRTC videoCall应用程序。暂时我需要一个语音记录(正常),所以我只是从对等连接中删除了音轨,并且在录音之后,我需要向对等连接中添加音轨。但是我做不到!

 public void removeAudioTrack() {

        List<RtpSender> senders = new ArrayList<>();
        senders.addAll(peerConnection.getSenders());

        try {
            for (RtpSender sender : senders) {
                if (sender.track() != null) {
                    if (sender.track().id().equals(AUDIO_TRACK_ID)) {
                        boolean flag = peerConnection.removeTrack(sender);
                        rtpSender = sender;                       
                    }

                }
            }
        } catch (Exception e) {

        }
}


 public void addAudioTrack() {

        localAudioTrack = createAudioTrack();
        mediaStream.addTrack(localAudioTrack);
        audioSender = peerConnection.addTrack(localAudioTrack,mediaStreamLabels);

}

声音没有进入另一侧(错误)

1 个答案:

答案 0 :(得分:0)

根据webrtc-pc标准-如果不重新协商,您将无法动态删除或添加流。但是,您可以替换轨道以将当前的RTCPSender轨道替换为另一个轨道。并且根据webrtc-pc标准,这不需要重新协商。