TokBox / Vonage在屏幕共享时支持音频捕获

问题描述

Screen Capture API(特别是getdisplayMedia())当前支持屏幕共享,并同时共享您设备(例如youtube)中播放的音频。 Docs。使用TokBox / Vonage Video API当前是否支持功能?有人能够做到这一点吗?

我猜可能会有一些使用getdisplayMedia并在发布时传递音频源的解决方法,例如:OT.initPublisher({ audioSource: newdisplayMediaAudioTrack }),但这似乎不是一个干净的解决方案。

谢谢

解决方法

Vonage Client SDK团队的Manik在这里。

尽管Video Client SDK中尚不存在此功能,但是您可以通过创建发布者来完成与屏幕的音频共享,如下所示:

let publisher;
try {
  const stream = await navigator.mediaDevices.getDisplayMedia({video: true,audio: true });
  const audioTrack = stream.getAudioTracks()[0];
  const videoTrack = stream.getVideoTracks()[0];
  publisher = OT.initPublisher({audioSource: audioTrack,videoSource: videoTrack});
} catch (e) {
 // handle error
}
,

如果共享一个选项卡,但该选项卡不播放音频(静态pdf或ppt),则屏幕会闪烁。为避免这种情况,请为视频流指定frameRate约束。参见-https://gist.github.com/rktalusani/ca854ca8621c20488bea6e62ad04e341

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...