|
@@ -15,24 +15,32 @@ let ZLMRTCClient = (function (exports) {
|
|
|
CAPTURE_STREAM_FAILED: 'CAPTURE_STREAM_FAILED'
|
|
|
};
|
|
|
|
|
|
+ /// ^rtpmap:\d+ PCMU\/8000(\r\n|\n)?$/g
|
|
|
+ // 替换replaceStr
|
|
|
const audioEncoding = {
|
|
|
- 0:{
|
|
|
+ 0: {
|
|
|
name: "PCMU",
|
|
|
- replaceStr:"a=rtpmap:0 PCMU/8000\n"
|
|
|
+ replaceStr: /a=rtpmap:0 PCMU\/8000(\r\n|\r|\n)/
|
|
|
},
|
|
|
- 8:{
|
|
|
+ 8: {
|
|
|
name: "PCMA",
|
|
|
- replaceStr:"a=rtpmap:8 PCMA/8000\n"
|
|
|
+ replaceStr: /a=rtpmap:8 PCMA\/8000(\r\n|\r|\n)/
|
|
|
},
|
|
|
- 9:{
|
|
|
+ 9: {
|
|
|
name: "G722",
|
|
|
- replaceStr:"a=rtpmap:9 G722/8000\n"
|
|
|
+ replaceStr: /a=rtpmap:9 G722\/8000(\r\n|\r|\n)/
|
|
|
},
|
|
|
- 13:{
|
|
|
+ 13: {
|
|
|
name: "CN",
|
|
|
- replaceStr:"a=rtpmap:13 CN/8000\n"
|
|
|
+ replaceStr: /a=rtpmap:13 CN\/8000(\r\n|\r|\n)/
|
|
|
}
|
|
|
- }
|
|
|
+ };
|
|
|
+
|
|
|
+ // const audioEncoding = {
|
|
|
+ // 0:{ name: "PCMU", replaceStr:/a=rtpmap:0 PCMU/8000/ },
|
|
|
+ // 8:{ name: "PCMA", replaceStr:/a=rtpmap:8 PCMA/8000/ },
|
|
|
+ // 9:{ name: "G722", replaceStr:/a=rtpmap:9 G722/8000/ },
|
|
|
+ // 13:{ name: "CN", replaceStr:/a=rtpmap:13 CN/8000/ } }
|
|
|
const VERSION$1 = '1.0.1';
|
|
|
const BUILD_DATE = 'Mon Jul 04 2022 19:50:55 GMT+0800 (China Standard Time)';
|
|
|
|
|
@@ -7937,12 +7945,11 @@ let ZLMRTCClient = (function (exports) {
|
|
|
}
|
|
|
|
|
|
this.pc.createOffer().then(desc => {
|
|
|
- log(this.TAG, 'offer:', desc.sdp);
|
|
|
- log(this.TAG, desc);
|
|
|
- let sdp = this.reWriteAudioCodingSdp(desc.sdp);
|
|
|
+ // log(this.TAG, 'offer:');
|
|
|
+ let sdp = this.reWriteAudioCodingSdp(desc.sdp.toString());
|
|
|
|
|
|
// sdp = sdp.replace("a=rtpmap:9 G722/8000","");
|
|
|
- log(this.Tag,"testSdp:",sdp)
|
|
|
+ log(this.Tag,"offer sdp:\n",sdp)
|
|
|
this.pc.setLocalDescription(desc).then(() => {
|
|
|
axios({
|
|
|
method: 'post',
|
|
@@ -8056,9 +8063,10 @@ let ZLMRTCClient = (function (exports) {
|
|
|
|
|
|
|
|
|
this.pc.createOffer().then(desc => {
|
|
|
- log(this.TAG, 'offer:', desc.sdp);
|
|
|
- let sdp = this.reWriteAudioCodingSdp(desc.sdp);
|
|
|
- log(this.TAG, 'new offer :', sdp);
|
|
|
+ // log(this.TAG, 'offer:', desc.sdp);
|
|
|
+ // console.log(desc.sdp.replace("a=rtpmap:0 PCMU/8000\n",""));
|
|
|
+ let sdp = this.reWriteAudioCodingSdp(desc.sdp.toString());
|
|
|
+ log(this.TAG, 'offer sdp :', sdp);
|
|
|
|
|
|
this.pc.setLocalDescription(desc).then(() => {
|
|
|
axios({
|
|
@@ -8206,20 +8214,30 @@ let ZLMRTCClient = (function (exports) {
|
|
|
let _sdp = sdp;
|
|
|
let audioEncodingKeys = Object.keys(audioEncoding);
|
|
|
console.log(audioEncoding);
|
|
|
- console.log(audioEncodingKeys);
|
|
|
+ // console.log(audioEncodingKeys);
|
|
|
+ let ptReg = /m=audio\s9\sUDP\/TLS\/RTP\/SAVPF(\s\d+)+/
|
|
|
|
|
|
+ _sdp=_sdp.replace(ptReg,`m=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 ${this.options.enableCodings.join(' ')}`)
|
|
|
+ // _sdp=_sdp.replace(ptReg,`m=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126`)
|
|
|
+ // _sdp=_sdp.replace("a=group:BUNDLE 0","a=group:BUNDLE 8")
|
|
|
for(let key of audioEncodingKeys){
|
|
|
if(this.options.enableCodings.includes(key)){
|
|
|
- console.log("已经启用的音频编码");
|
|
|
+ console.log(`已经启用的音频编码 ${audioEncoding[key].name}`);
|
|
|
// continue;
|
|
|
}else{
|
|
|
- console.log(key);
|
|
|
- console.log(audioEncoding[key]);
|
|
|
- console.log(audioEncoding[key].replaceStr);
|
|
|
- _sdp = _sdp.replace(audioEncoding[key].replaceStr,"");
|
|
|
+ // console.log(key);
|
|
|
+ // console.log(audioEncoding[key]);
|
|
|
+ // console.log(audioEncoding[key].replaceStr);
|
|
|
+ // console.log(_sdp)
|
|
|
+ // console.log(_sdp.replace(new RegExp(audioEncoding[key].replaceStr,"g"),""))
|
|
|
+ // console.log(_sdp.replace("a=rtpmap:0 PCMU/8000\n",""));
|
|
|
+ //
|
|
|
+ // console.log(Function.prototype.toString.call(_sdp.replace))
|
|
|
+ _sdp = _sdp.replace(new RegExp(audioEncoding[key].replaceStr,"g"),"");
|
|
|
+ // console.log(_sdp)
|
|
|
}
|
|
|
}
|
|
|
- console.log(_sdp);
|
|
|
+ // console.log(_sdp);
|
|
|
return _sdp;
|
|
|
}
|
|
|
|