์๋
ํ์ญ๋๊น,
์ด์จ๋ ๋ก์ปฌ ๋ง์ดํฌ๋ฅผ ์์๊ฑฐํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
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 ๋ฒ์ ์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ํ๋ฉ๋๋ค.