如何使WebRTC流CD质量的音频具有最小的丢包率

问题描述

我目前正在业余时间使用node.js制作对等音乐应用程序。我已经解决了一些主要障碍,包括强制音频使用高带宽。但是,现在的声音虽然质量不错,但很容易被剪切掉并“数字化”(听起来比乐器更重要的是合成器而不是乐器,有时基本上像是计算机)。

是否有控制丢包的方法?如果是这样,我是否可以通过SDP进行操作?

我已经尝试过搜索它,但是,令人遗憾的是,WebRTC似乎缺少用于音乐/高品质目的的文档。

非常感谢!

这是我用来强制将sdp设置为高带宽的代码

    function changeSDP( offer ) {
        let sdp = offer.split('\r\n');//convert to an concatenable array
        let new_sdp = '';
        let position = null;
        sdp = sdp.slice(0,-1); //remove the last comma ','
        for(let i = 0; i < sdp.length; i++) {//look if exists already a b=AS:XXX line
            if(sdp[i].match('b=AS:')) {
                position = i; //mark the position
            }
        }
        if(position) {
            sdp.splice(position,1);//remove if exists
        }
        for(let i = 0; i < sdp.length; i++) {
            if(sdp[i].match('m=video')) {//modify and add the new lines for video
                new_sdp += sdp[i] + '\r\n' + 'b=AS:' + 5000 + '\r\n';
            }
            else {
                if(sdp[i].match('m=audio')) { //modify and add the new lines for audio
                    new_sdp += sdp[i] + '\r\n' + 'b=AS:' + 5000 + '\r\n';
                }
                else {
                    new_sdp += sdp[i] + '\r\n';
                }
            }
        }
        console.log(new_sdp)
        return new_sdp; //return the new sdp
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...