Я много искал и много чего пробовал. Возьмем тот же сценарий из этого вопроса.
Боб, Алиса и Джейн участвуют в конференции. Я хочу, чтобы Боб (хозяин комнаты) мог отключать звук Алисы, чтобы звуки Алисы не проходили через комнату, а < strong> Алиса по-прежнему слышит звуки от всех остальных участников (Боб и Джейн)
Представьте себе сценарий, когда вы находитесь на конференции, и кто-то мешает прямой трансляции. Поэтому я хочу, чтобы хостер мог отключить или удалить звуковую дорожку этого человека.
Пока что я могу отключить звуковые дорожки для локального участника с помощью:
$(document).on("click",'.mute-audio',function(){
if(room){
let microEnabled = true;
microEnabled = !microEnabled;
room.localParticipant.audioTracks.forEach(function(audioTrack) {
audioTrack.enable(microEnabled);
});
}
});
Мы просто перебираем аудиодорожки локального участника, и если я хочу сделать это для конкретного пользователя, мне просто нужно знать его identity
, и я готов:
$(document).on("click",'.mute-user',function(){
var identity = $(this).data('identity'); // i.e the unique ID USER2323
if(room){
var user_to_mute;
room.participants.audioTracks.forEach(function(participant) {
audioTrack.enable(microEnabled);
user_to_mute = participant;
// We retrieve the target
return;
});
let m_Enabled = true;
m_Enabled = !m_Enabled;
if(user_to_mute){
user_to_mute.audioTracks.forEach(function(audioTrack) {
audioTrack.enable(m_Enabled);
// the error is here I think
return;
});
}
}
});
Но это не работает, при попытке я получил эту ошибку в браузере
TypeError: audioTrack.enable is not a function