Sip.js: Bisukan mikrofon lokal

Dibuat pada 13 Des 2017  ·  11Komentar  ·  Sumber: onsip/SIP.js

Halo,
Apakah ada cara untuk membisukan mikrofon lokal?
Session.mute() tampaknya tidak berfungsi.
Salam Hormat,
Pjata

question

Komentar yang paling membantu

di versi 0.15.0 ternyata dibuat seperti ini

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

Semua 11 komentar

Anda perlu mengeluarkan trek lokal dari peerConnection dan kemudian membisukan trek. Ini di luar cakupan SIP.js. Lihat dokumentasi Sesi Deskripsi Handler untuk informasi tentang cara mendapatkan koneksi peer.

Saya menyelesaikannya seperti ini:

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

session.getLocalStreams tidak kompatibel dengan 0.8+. Anda perlu mendapatkan koneksi peer dan mendapatkan aliran dari koneksi peer.

jadi bagaimana saya bisa melakukan ini?

Anda perlu mengeluarkan trek lokal dari peerConnection dan kemudian membisukan trek. Ini di luar cakupan SIP.js. Lihat dokumentasi Sesi Deskripsi Handler untuk informasi tentang cara mendapatkan koneksi peer.

saya melakukannya dengan cara ini

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

saya melakukannya dengan cara ini

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

Bagi siapa pun yang menemukan ini sekarang:
Chrome mengatakan peerConnection.getLocalStreams() tidak boleh digunakan lagi. Sebagai gantinya gunakan:
peerConnection.getSenders() dan peerConnection.getReceivers()

di versi 0.15.0 ternyata dibuat seperti ini

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

terima kasih @koshelevvasya yang bekerja untuk saya!

maaf terlambat ke pesta. Pertanyaan: bagaimana saya sebagai rekan jarak jauh mengetahui rekan lokal telah menonaktifkan mikrofon mereka sehingga saya dapat memperbarui status dari pihak saya? Adakah acara yang akan diaktifkan ketika trek diaktifkan/dinonaktifkan seperti yang disebutkan oleh

@thanh-mel , rekan jarak jauh tidak perlu tahu bahwa mikrofon dimatikan. Mungkin Anda perlu menggunakan hold?

Acara apa pun akan diaktifkan saat trek diaktifkan/dinonaktifkan

Dalam pengalaman saya, ya. Karena dilakukan menggunakan JavaScript

Apakah halaman ini membantu?
0 / 5 - 0 peringkat