Twilio 视频在 Android 上的 Chrome 和 iOS 上的 Safari 中失败,可在桌面上运行

Posted

技术标签:

【中文标题】Twilio 视频在 Android 上的 Chrome 和 iOS 上的 Safari 中失败,可在桌面上运行【英文标题】:Twilio video fails in Chrome on Android and Safari on iOS, works on desktop 【发布时间】:2019-11-30 05:09:43 【问题描述】:

支持矩阵似乎说应该支持: https://www.twilio.com/docs/video/javascript#supported-browsers

我找不到它不受支持,但在我的桌面上运行的东西在 3 种移动设备中的任何一种上都不起作用。

我正在使用视频的 JS 快速入门,其代码位于 https://github.com/twilio/video-quickstart-js 。应用程序的其余部分正常工作,但尝试预览视频在所有移动平台上都会失败。

https://mdn-samples.mozilla.org/s/webrtc-capturestill/ 的示例在 android 上的 Chrome 和 ios 上的 Safari 中按预期工作,所以这看起来一定是 Twilio 错误。

错误是“无法访问相机和麦克风” 来自这里:

// Preview LocalParticipant's Tracks.
document.getElementById('button-preview').onclick = function() 
  var localTracksPromise = previewTracks
    ? Promise.resolve(previewTracks)
    : Video.createLocalTracks();

  localTracksPromise.then(function(tracks) 
    window.previewTracks = previewTracks = tracks;
    var previewContainer = document.getElementById('local-media');
    if (!previewContainer.querySelector('video')) 
      attachTracks(tracks, previewContainer);
    
  , function(error) 
    console.error('Unable to access local media', error);
    log('Unable to access Camera and Microphone');
  );
;

【问题讨论】:

【参考方案1】:

要在手机或平板电脑(iOS 或 Android)上使用视频,您必须通过 https 提供页面。如果你不这样做,你会得到这些结果。太好了,放入反向代理和来自 certbot 的证书...

【讨论】:

以上是关于Twilio 视频在 Android 上的 Chrome 和 iOS 上的 Safari 中失败,可在桌面上运行的主要内容,如果未能解决你的问题,请参考以下文章

适用于 android 和 ios 的 twilio webrtc mediastream contentHint

静音流轨道Twilio js的音频/视频

Twilio Video Javascript在服务器上

如何为 Twilio 视频会议创建访问令牌

移动应用程序 - Twilio 视频/呼叫不一致的推送通知

是否可以通过 RTMP 或 RTP 流式传输到 Twilio 视频 API