Sip.js: рд╕реНрдерд╛рдиреАрдп рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдореНрдпреВрдЯ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рджрд┐рд╕ре░ 2017  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: onsip/SIP.js

рдирдорд╕реНрддреЗ,
рдХреНрдпрд╛ рд╕реНрдерд╛рдиреАрдп рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдХреЛ рдореНрдпреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрд╕реЗ рднреА рд╣реИ?
рд╕реЗрд╢рди.рдореНрдпреВрдЯ () рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╕рд╛рджрд░,
рдкрдЬрд╛рддрд╛

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

0.15.0 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

const pc: any = this.session.sessionDescriptionHandler.peerConnection
    pc.getSenders().forEach((stream: any) => {
      stream.track.enabled = false
    })

рд╕рднреА 11 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рдЯреНрд░реИрдХреНрд╕ рдХреЛ рдкреАрдпрд░рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдЯреНрд░реИрдХреНрд╕ рдХреЛ рдореНрдпреВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ SIP.js рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╕рддреНрд░ рд╡рд┐рд╡рд░рдг рд╣реИрдВрдбрд▓рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╣рд▓ рдХрд┐рдпрд╛:

session.getLocalStreams()[0].getAudioTracks()[0].stop()

session.getLocalStreams 0.8+ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рддреЛ рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ?

рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рдЯреНрд░реИрдХреНрд╕ рдХреЛ рдкреАрдпрд░рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдЯреНрд░реИрдХреНрд╕ рдХреЛ рдореНрдпреВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ SIP.js рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╕рддреНрд░ рд╡рд┐рд╡рд░рдг рд╣реИрдВрдбрд▓рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛

///mute
var pc = session.sessionDescriptionHandler.peerConnection;
pc.getLocalStreams().forEach(function (stream) {
    stream.getAudioTracks().forEach(function (track) {
        track.enabled = false;
    });
});

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛

///mute
var pc = session.sessionDescriptionHandler.peerConnection;
pc.getLocalStreams().forEach(function (stream) {
    stream.getAudioTracks().forEach(function (track) {
        track.enabled = false;
    });
});

рдЕрдм рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП:
рдХреНрд░реЛрдо рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЕрдм peerConnection.getLocalStreams() рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
peerConnection.getSenders() рдФрд░ peerConnection.getReceivers()

0.15.0 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

const pc: any = this.session.sessionDescriptionHandler.peerConnection
    pc.getSenders().forEach((stream: any) => {
      stream.track.enabled = false
    })

рдзрдиреНрдпрд╡рд╛рдж @koshelevvasya рдЬрд┐рд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛!

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдкрд╛рд░реНрдЯреА рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╣реЛ рдЪреБрдХреА рдереАред рдкреНрд░рд╢реНрди: рд░рд┐рдореЛрдЯ рдкреАрдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдкреАрдпрд░ рдиреЗ рдЕрдкрдиреЗ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдХреЛ рдореНрдпреВрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЕрдкрдиреА рдУрд░ рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХреВрдВ? рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ @koshelevvasya рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреЛрдИ рдЯреНрд░реИрдХ рд╕рдХреНрд╖рдо/рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдХреЛрдИ рднреА рдИрд╡реЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рдПрдЧрд╛?

@ рдерд╛рди-рдореЗрд▓, рд░рд┐рдореЛрдЯ рдкреАрдпрд░ рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдореНрдпреВрдЯ рд╣реИред рд╢рд╛рдпрдж рдЖрдкрдХреЛ рд╣реЛрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдЯреНрд░реИрдХ рд╕рдХреНрд╖рдо/рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдХреЛрдИ рднреА рдИрд╡реЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рдПрдЧрд╛

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рд╣рд╛рдБред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

tm1000 picture tm1000  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kyle9292 picture kyle9292  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kakabara picture kakabara  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

i-kitchen picture i-kitchen  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

seanbright picture seanbright  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ