【发布时间】:2017-06-26 10:19:18
【问题描述】:
我正在尝试将我的音频呼叫强制为单声道,我愿意使用 PCMU、G.729、OPUS 和 SpeeX 作为我的编解码器来进行此呼叫。
现在我正在使用以下代码在我的 sdp 消息中搜索选择的编解码器:
function maybePreferCodec(sdp, type, dir, codec) {
var str = type + ' ' + dir + ' codec';
if (codec === '') {
return sdp;
}
var sdpLines = sdp.split('\r\n');
// Search for m line.
var mLineIndex = findLine(sdpLines, 'm=', type);
if (mLineIndex === null) {
return sdp;
}
// If the codec is available, set it as the default in m line.
var codecIndex = findLine(sdpLines, 'a=rtpmap', codec);
console.log('codecIndex', codecIndex);
if (codecIndex) {
var payload = getCodecPayloadType(sdpLines[codecIndex]);
if (payload) {
sdpLines[mLineIndex] = setDefaultCodec(sdpLines[mLineIndex], payload);
}
}
sdp = sdpLines.join('\r\n');
return sdp;
}
其他功能可以在这里找到:
http://www.codeforge.com/read/252733/sdputils.js__html
链接上还有许多其他功能,但我不知道它们是否能在我选择的编解码器上正常工作。
提前致谢!
【问题讨论】:
标签: javascript webrtc rtp sdp