twilio - Twilio 中 RemoteAudioTrack 的“静音”条件检测
问题描述
当此事件发生时,我面临着检测静音(禁用)轨道的挑战:
Room.on("trackSubscribed", (track, participant))
连接轨道后,我可以稍后订阅单独的轨道事件(启用/禁用),但是如果轨道在连接时被静音,我该如何确定?
track
当我查看跟踪属性(事件后的控制台日志trackSubscribed
)时,有一个mediaStreamTrack
内部,它有:
-enabled (true)
-muted (false)
但是,无论轨道在初始连接时是否静音,这两个属性始终设置为上述值。
这是一个错误还是我做错了?
解决方案
我知道这是一个旧线程,但我设法做到了。我听这样的订阅曲目:
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);
}
}
这应该为所有参与者完成,但在我的情况下只有一个。希望能帮助到你!
推荐阅读
- spring - 为什么我的 Spring 应用程序从我的 Spring Boot 单元测试运行
- reactjs - 子路径下的反应路由器参数
- python - sklearn 中的多项式特征和多项式回归
- angular - Angular Apollo 将 URI 注入 graphql.module.ts
- oracle-apex - URL 中的 Oracle Apex 参数
- flutter - 如何仅添加一个 BottomNavigationBarItem
- python - 有一种方法可以在每个 .txt 文件行中发出请求吗?
- sql - 如何在不包含日期之间进行修复
- python - Pandas:迭代并返回:索引、下一个索引和行
- php - foreach 循环创建一个 xml 字符串