问题描述
我目前正在业余时间使用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 (将#修改为@)