ΠΡΠΈΠ²Π΅Ρ,
ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΌΠ΅ΡΡΠ½ΡΠΉ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½?
Session.mute (), ΠΏΠΎΡ
ΠΎΠΆΠ΅, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,
ΠΡΡΠ°
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ ΠΎΡ peerConnection, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅ΠΊΠΈ. ΠΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ SIP.js. Π‘ΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
Π― ΡΠ΅ΡΠΈΠ» ΡΡΠΎ ΡΠ°ΠΊ:
session.getLocalStreams()[0].getAudioTracks()[0].stop()
session.getLocalStreams
Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΡΠΌΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ 0.8+. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊΠΈ ΠΎΡ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ?
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ ΠΎΡ peerConnection, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅ΠΊΠΈ. ΠΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ 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; }); });
ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π½Π°ΡΠ΅Π» ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ:
Chrome Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ 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 ?
@ thanh-mel ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ·Π»Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½ ΠΎΡΠΊΠ»ΡΡΠ΅Π½. ΠΠΎΠΆΠ΅Ρ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅?
ΠΡΠ±ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅ΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ / ΠΎΡΠΊΠ»ΡΡΠ΅Π½
ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΎΠΏΡΡΡ, Π΄Π°. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JavaScript
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π² Π²Π΅ΡΡΠΈΠΈ 0.15.0 ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ