有没有办法检测参与者何时在 opentok.js 中将他们的音频静音?
Is there a way to detect when a participant has muted their audio in opentok.js?
我浏览了具有方法 publishVideo(value)
和 publishAudio(value)
的发布者文档。
对应于视频部分,订阅者收到事件 videoDisabled
或 videoEnabled
,原因是 publishVideo
这让我可以确定订阅的参与者是否有意关闭他们的视频,但我找不到类似音频的内容,例如 audioDisabled
或 audioEnabled
。 audioBlocked
事件应该只覆盖浏览器自动播放策略的块:Dispatched when the subscriber's audio is blocked because of the browser's autoplay policy
.
audioLevelUpdated
事件提供了当前的音频电平,但这可能只是静音,而不是有意静音,因此看起来不适合此目的。
我想在订阅的参与者通过调用 publishAudio()
方法有意关闭音频时在订阅的参与者元素上显示音频静音图标。如何实现?
参考文档:
订阅者事件:https://tokbox.com/developer/sdks/js/reference/Subscriber.html#events
发布者方法:https://tokbox.com/developer/sdks/js/reference/Publisher.html#methods
您是否尝试过 audioLevelUpdated 并检查音频电平
如果级别为 0,则其静音。
https://tokbox.com/developer/sdks/js/reference/Subscriber.html#getAudioVolume
所以步骤是收听 audioLevelUpdated 并检查 AudioVolume,音频音量应该得到你的订阅者级别点。
每个流都有一个 hasAudio
属性,如果用户的音频被静音或他们的麦克风被静音,则该属性 returns 为 false。同样,流也有一个 hasVideo
属性。您可以在 https://tokbox.com/developer/sdks/js/reference/Stream.html.
参考流文档
我个人是这样使用的:
session.streams.forEach((stream) => {
const name = stream.name;
const video = stream.hasVideo;
const audio = stream.hasAudio;
});
您可以使用 session.on('streamPropertyChanged')
事件监听这些变化:https://tokbox.com/developer/sdks/js/reference/StreamPropertyChangedEvent.html
我浏览了具有方法 publishVideo(value)
和 publishAudio(value)
的发布者文档。
对应于视频部分,订阅者收到事件 videoDisabled
或 videoEnabled
,原因是 publishVideo
这让我可以确定订阅的参与者是否有意关闭他们的视频,但我找不到类似音频的内容,例如 audioDisabled
或 audioEnabled
。 audioBlocked
事件应该只覆盖浏览器自动播放策略的块:Dispatched when the subscriber's audio is blocked because of the browser's autoplay policy
.
audioLevelUpdated
事件提供了当前的音频电平,但这可能只是静音,而不是有意静音,因此看起来不适合此目的。
我想在订阅的参与者通过调用 publishAudio()
方法有意关闭音频时在订阅的参与者元素上显示音频静音图标。如何实现?
参考文档:
订阅者事件:https://tokbox.com/developer/sdks/js/reference/Subscriber.html#events
发布者方法:https://tokbox.com/developer/sdks/js/reference/Publisher.html#methods
您是否尝试过 audioLevelUpdated 并检查音频电平
如果级别为 0,则其静音。
https://tokbox.com/developer/sdks/js/reference/Subscriber.html#getAudioVolume
所以步骤是收听 audioLevelUpdated 并检查 AudioVolume,音频音量应该得到你的订阅者级别点。
每个流都有一个 hasAudio
属性,如果用户的音频被静音或他们的麦克风被静音,则该属性 returns 为 false。同样,流也有一个 hasVideo
属性。您可以在 https://tokbox.com/developer/sdks/js/reference/Stream.html.
我个人是这样使用的:
session.streams.forEach((stream) => {
const name = stream.name;
const video = stream.hasVideo;
const audio = stream.hasAudio;
});
您可以使用 session.on('streamPropertyChanged')
事件监听这些变化:https://tokbox.com/developer/sdks/js/reference/StreamPropertyChangedEvent.html