【问题标题】:chrome screen sharing with audio support using jssip使用 jssip 支持音频的 chrome 屏幕共享
【发布时间】:2019-01-10 05:41:52
【问题描述】:

我已经测试了 webrtc 屏幕共享,它在 firefox 和 chrome 上都可以正常工作,我有一个关于音频屏幕共享的问题。

在 firefox 上使用 jssip 我只是在 MediaConstraints 中添加了“audio: true”,它工作正常,但在 chrome 的情况下,我不能同时使用音频和屏幕共享(chrome 返回媒体访问被拒绝)这是我的 firefox媒体约束:

const firefoxMediaConstraints =
{
    audio : true,
    video : {
        mediaSource  : 'screen',
        width        : 480,
        height       : 360,
        maxFrameRate : 10
    }
};

如何在 chrome 上添加带有音频的屏幕共享?

【问题讨论】:

  • 所以你可以在没有 chrome 音频的情况下从“屏幕”获得 MediaStream?如果我没记错的话,那意味着您正在使用扩展程序,对吗?如果是这样,我自己从未尝试过,但您是否也可以访问通常的 LocalMediaStream,例如仅来自麦克风的?如果可以,那么您可以尝试同时执行这两项操作,然后将屏幕流的 videoTrack 与麦克风流的 audioTrack 合并(new MediaStream([track1, track2])stream1.addTrack(track2)... 但当然,这很多 @ 987654324@提前通过...
  • @kaiido 感谢您的反馈,是的,我需要类似的东西,但我想没有办法使用 jssip api,如果您使用 jssip 库,您能告诉我如何将它添加到 jssip ?
  • 啊不,我从未使用过 jssip,他们能够在 Chrome 中进行屏幕共享调用吗?他们声称零插件,但 IIRC,Chrome 只接受来自chrome:// 脚本(即扩展)的屏幕共享。

标签: google-chrome webrtc screensharing jssip


【解决方案1】:

您必须执行两次单独的 getUserMedia(或将来,一次 getUserMedia 和一次 getDisplayMedia)调用,一次仅用于音频,另一次用于屏幕共享。然后将生成的轨道一起添加到新的 MediaStream 中(或将屏幕共享视频轨道添加到纯音频流中)

【讨论】:

    【解决方案2】:

    在最新的 Chrome 版本中需要 HTTPS 才能获取媒体设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多