У меня есть поток WebRTC, который отправляет аудио / видео, я отображаю громкость в виджете измерителя, который получен из вызова getStats
на peerConnection.
getStats(function (stats) {
var results = stats.result()
for (let i=0; i < results.length; i++) {
var res = results[i]
if (res.type == 'ssrc') {
volume = parseInt(res.stat('audioInputLevel'))
}
}
})
Это работает нормальнопроблема заключается в том, что когда я запускаю replaceTrack
для обновления потоков аудио / видео, вышеприведенное getStats
возвращает 0 для уровня звука.
navigator.mediaDevices.getUserMedia(media)
.then(stream => {
const tracks = stream.getTracks()
peerConnection.getSenders()
.forEach(sender => {
const newTrack = tracks.find(track => track.kind === sender.track.kind)
sender.replaceTrack(newTrack)
})
})
Локальный поток get обновляется, удаленный пользователь получает обновления иаудио / видео работает.Но getStats
больше не возвращает audioInputLevel
.
Может ли кто-нибудь помочь мне понять, почему?Или какое исправление может быть.
Спасибо