微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JsSIP audioStream 一侧

如何解决JsSIP audioStream 一侧

实际上,我正在编写一个精益网络电话。 入站呼叫的音频流正在工作。 对于出站呼叫,我只有一侧的音频。 A 呼叫 B,但 A 没有音频。

用户代理注册正常。 你知道出了什么问题吗?

谢谢! 阿明

编辑: 现在我添加一个连接事件,并且音频对双方都有效。我不知道解决方案是否正确......不了解音频流的正确顺序。 session.on('connecting',audioStream); // for outbound calls session.on('peerconnection',audioStream); // for inbound calls

var remoteAudio = new window.Audio();
remoteAudio.autoplay = true;

var options = {
    'mediaConstraints' : { 'audio': true,'video': false }
};

ua = new JsSIP.UA(configuration);

ua.on('newRTCSession',function (e) { // new session for outbound and inbound calls

    var newSession = e.session;
    session = newSession;

    session.on('ended',function(e) {
        ringtone.pause();
        session = null;       
    });

    session.on('Failed',function(e) {
        ringtone.pause();
        session = null;
    });

    session.on('accepted',function(e) {
        ringtone.pause();
    });

    session.on('peerconnection',audioStream);

    session.on('confirmed',function(e) {
        ringtone.pause();
    });

    if(session.direction == 'incoming') {
        ringtone.play();
    } 
});

ua.start();

function audioStream() {
    session.connection.ontrack = function(e) {
        remoteAudio.srcObject = e.streams[0];
    }; 
}

$('#connectCall').click(function () {
    let callingNumber = $('#callNumber').val();
    document.getElementById("callingNumber").innerHTML = callingNumber;
    ua.call(callingNumber,options);
});

$('#takeCall').click(function () {
    session.answer(options);
    ringtone.pause();
});

$('#hangUp').click(function () {
    session.terminate();
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。