【问题标题】:Can I use experimental WebKit features in my iOS app?我可以在我的 iOS 应用程序中使用实验性 WebKit 功能吗?
【发布时间】:2020-06-04 23:41:59
【问题描述】:

我正在开发一个带有 react-native 的 iOS 应用程序。我想使用仍处于“实验”阶段的 MediaRecorder。我在高级 Safari 设置中打开了它,但是当我尝试在我的应用中使用它时:

var mediaRecorder = new MediaRecorder(stream)

我收到此错误:

ReferenceError: Can't find variable: MediaRecorder

此功能在 safari 中运行良好,但我无法在我的应用程序中使用。有没有办法在 Xcode/real-native 设置中打开它?

编辑:

这是我的代码的较大部分。我使用提供mediaDevices 组件的react-native-webrtc。我确实捕获了流,我遇到的问题是 MediaRecorder。我知道 MediaRecorder 在 safari 浏览器中工作,我的问题是它是否可以在移动 iOS 应用程序中使用,如果可以,如何启用它。

import {
  RTCPeerConnection,
  RTCIceCandidate,
  RTCSessionDescription,
  RTCView,
  MediaStream,
  MediaStreamTrack,
  mediaDevices,
  registerGlobals
} from 'react-native-webrtc';

var mediaRecorder;
const pc_config = {
  "iceServers": [
    {
      urls: 'stun:stun.l.google.com:19302'
    }
  ]
}
var pc = new RTCPeerConnection(pc_config)

const success = (stream) => {
  mediaRecorder = new MediaRecorder(stream) //this line throws the error
  pc.addStream(stream)
}

const failure = (e) => {
  console.log('getUserMedia Error: ', e)
}

const constraints = {
  audio: true,
  video: {
    mandatory: {
      minWidth: 200,
      minHeight: 200*(16/9),
      minFrameRate: 24
    },
    facingMode: "user" 
  }
}

mediaDevices.getUserMedia(constraints)
  .then(success)
  .catch(failure);

【问题讨论】:

    标签: ios xcode react-native webkit mediarecorder


    【解决方案1】:

    MediaRecorder 构造函数语法是

    var mediaRecorder = new MediaRecorder(stream[, options]);
    

    navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {
        var mediaRecorder = new MediaRecorder(stream);
    }
    

    在激活了 Experimental MediaRecorder 的 Safari 13 控制台中仅运行以下行时:

    var mediaRecorder = new MediaRecorder(stream)
    

    我得到以下(预期的)输出:

    ReferenceError: Can't find variable: stream
    

    【讨论】:

    • 感谢您的回复,非常感谢。我确实将流提供给 MediaRecorder 构造函数。我编辑了我的原始问题以显示它是如何完成的。问题在于 WebKit 中 MediaRecorder 的可用性。
    猜你喜欢
    • 2020-06-06
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多