Twilio中RemoteAudioTrack的“静音”状态检测

时间:2019-10-11 18:37:54

标签: twilio twilio-api

此事件发生时,我面临着检测静音(禁用)轨道的挑战:

Room.on("trackSubscribed", (track, participant))

在连接了轨道之后,我可以稍后再订阅一个单独的轨道事件(启用/禁用),但是,如果在连接轨道时将其静音,那么如何确定呢?

当我查看音轨属性(事件track之后的控制台日志trackSubscribed)时,里面有一个mediaStreamTrack,里面有:

-enabled (true)
-muted (false)

但是,无论在初始连接时音轨是否静音,这两个属性始终都设置为上述值。

这是错误还是我做错了?

1 个答案:

答案 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);
    }
}

应该为所有参与者完成此操作,但是在我的情况下,只有一个。 希望对您有帮助!