Я работаю над приложением WebRTC, в котором динамически добавляю звуковые дорожки в одноранговое соединение после получения разрешений микрофона. Я хочу избежать добавления дублирующих треков, чтобы избежать ненужной сигнализации и предложений. Однако я заметил, что track.id меняется каждый раз, когда я вызываю getUserMedia, что затрудняет проверку того, был ли уже добавлен трек.
Вот код, который я использую для добавления треков
const localStream = await navigator.mediaDevices.getUserMedia({
video: false,
audio: true,
})
localStream.getAudioTracks().forEach((track) => {
mapPeerConnection.forEach((peerConnection, userId) => {
peerConnection.addTrack(track, localStream)
sendOffer(userId)
})
})
Подробнее здесь: https://stackoverflow.com/questions/793 ... efore-addi