此事件发生时,我面临着检测静音(禁用)轨道的挑战:
Room.on("trackSubscribed", (track, participant))
在连接了轨道之后,我可以稍后再订阅一个单独的轨道事件(启用/禁用),但是,如果在连接轨道时将其静音,那么如何确定呢?
当我查看音轨属性(事件track
之后的控制台日志trackSubscribed
)时,里面有一个mediaStreamTrack
,里面有:
-enabled (true)
-muted (false)
但是,无论在初始连接时音轨是否静音,这两个属性始终都设置为上述值。
这是错误还是我做错了?
答案 0 :(得分:3)
我知道这是一个旧线程,但是我设法做到了。 我听着这样的歌曲:
this.remoteParticipant.tracks.forEach(publication => {
publication.on('subscribed', track => this.onTrackSubscribed(track))
.on('unsubscribed', track => this.twilioService.detachRemoteTrack(track));
});
其中remoteParticipant为RemoteParticipant类型。并使用以下方法初始化参与者的“ isMuted”变量:
function onTrackSubscribed(track) {
if (track.kind === 'audio') {
this.isMuted = !track.isEnabled;
track.on('disabled', (track) => this.isMuted = true);
track.on('enabled', (track) => this.isMuted = false);
}
}
应该为所有参与者完成此操作,但是在我的情况下,只有一个。 希望对您有帮助!