Hallo,
Kann man das lokale Mikrofon trotzdem stumm schalten?
Session.mute() scheint nicht zu funktionieren.
Mit freundlichen Grüßen,
Pjata
Sie müssen die lokalen Spuren von der peerConnection entfernen und dann die Spuren stummschalten. Dies liegt außerhalb des Anwendungsbereichs von SIP.js. Informationen zum Abrufen der Peer-Verbindung finden Sie in der Dokumentation zum
Ich habe es so gelöst:
session.getLocalStreams()[0].getAudioTracks()[0].stop()
session.getLocalStreams
ist nicht aufwärtskompatibel mit 0.8+. Sie müssen die Peer-Verbindung abrufen und die Streams von der Peer-Verbindung abrufen.
also wie kann ich das machen?
Sie müssen die lokalen Spuren von der peerConnection entfernen und dann die Spuren stummschalten. Dies liegt außerhalb des Anwendungsbereichs von SIP.js. Informationen zum Abrufen der Peer-Verbindung finden Sie in der Dokumentation zum
ich habe es so gemacht
///mute
var pc = session.sessionDescriptionHandler.peerConnection;
pc.getLocalStreams().forEach(function (stream) {
stream.getAudioTracks().forEach(function (track) {
track.enabled = false;
});
});
ich habe es so gemacht
///mute var pc = session.sessionDescriptionHandler.peerConnection; pc.getLocalStreams().forEach(function (stream) { stream.getAudioTracks().forEach(function (track) { track.enabled = false; }); });
Für alle, die das jetzt finden:
Chrome sagt, dass peerConnection.getLocalStreams()
nicht mehr verwendet werden sollte. Verwenden Sie stattdessen:
peerConnection.getSenders()
und peerConnection.getReceivers()
in Version 0.15.0 ist es so gemacht worden
const pc: any = this.session.sessionDescriptionHandler.peerConnection
pc.getSenders().forEach((stream: any) => {
stream.track.enabled = false
})
danke @koshelevvasya , das hat bei mir funktioniert!
Entschuldigung war zu spät zur Party. Frage: Woher weiß ich als Gegenstelle, dass die lokale Gegenstelle ihr Mikrofon stummgeschaltet hat, damit ich den Status von meiner Seite aus aktualisieren kann? Jedes Ereignis würde ausgelöst, wenn ein Track aktiviert/deaktiviert wird, wie von
@thanh-mel , die Gegenstelle muss nicht wissen, dass das Mikrofon stummgeschaltet ist. Vielleicht müssen Sie Hold verwenden?
Jedes Ereignis würde ausgelöst, wenn eine Spur aktiviert/deaktiviert wird
Nach meiner Erfahrung ja. Weil es mit JavaScript gemacht wird
Hilfreichster Kommentar
in Version 0.15.0 ist es so gemacht worden