我可以在我的 iOS 应用程序中使用实验性 WebKit 功能吗?

2024-01-24

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

var mediaRecorder = new MediaRecorder(stream)

我收到此错误:

ReferenceError: Can't find variable: MediaRecorder

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

EDIT:

这是我的代码的较大部分。我用反应本机 webrtc https://github.com/react-native-webrtc/react-native-webrtc提供mediaDevices成分。我确实捕获了流,我遇到的问题是 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);

MediaRecorder 构造函数语法是

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

as in

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在我的 iOS 应用程序中使用实验性 WebKit 功能吗? 的相关文章

随机推荐

  • OOP Javascript - 隔离类内的对象

    我试图拥有一个可以创建多个实例的主对象 每个实例都继承子对象 具有唯一 隔离的属性 然而 当我这样做时 所有创建的对象的对象属性 更改后 都会发生变化 我可能没有正确解释这一点 但这个例子应该很清楚 Main function Extend
  • JQuery 抖动对错误的影响

    当用户输入不正确的信息时 我试图在我的登录页面上应用摇动效果 此时 如果用户提交了不正确的详细信息 页面将刷新 打印 PHP 通知 并通过 JS 使通知 div 可见 我正在尝试使用变得可见的通知来识别信息不正确并切换摇动效果 HTML d
  • 我想在 print 语句之后而不是之前向用户询问 c 的值。怎么做?

    该程序询问 a b 和 c 的值 然后打印 print 语句 我想在打印 print 语句之前询问 c 的值 set serveroutput on set verify off DECLARE a number a b number a
  • Magento:系统/配置在多选中添加自定义值

    我创建了一个简单的模块 我已经创建了system xml 有一个字段多选我想在多选字段中添加自定义值 是否可以在多选字段中添加自定义值
  • MVC DateTime 文本框格式问题

    我想做类似的事情 model PickupDate ToString d 但 MVC4 不太喜欢这样 PickupDate is a DateTime字段 我想在视图中显示时去掉时间部分 同时保留new id date1 绑定的代码Text
  • Rails ActiveJob - 处理 ActionMailer::DeliveryJob 中的异常的好方法是什么

    我在用ActiveJob Sidekiq在我的 Rails 项目中进行任务处理 我直接使用发送邮件MyMailer some deliver later 它会自动创建一个ActionMailer DeliveryJob任务并将其放入Side
  • 如何使用ndb光标翻到上一页?

    我无法设法进入 ndb 分页中的 上一页 我已经检查过文档 https developers google com appengine docs python ndb queries cursors还有这个类似的在这里提问 https st
  • jQuery 中触发退格键

    如何在 jQuery 中触发退格键事件 以下示例不起作用 var e jQuery Event backspace keyCode 8 myarea trigger e 你实际上无法触发它 例如 您可以从某个输入中删除最后一个字符 但无法触
  • 返回范围的 SQL Select 查询[重复]

    这个问题在这里已经有答案了 可能的重复 MS SQL Server 中的行偏移 https stackoverflow com questions 187998 row offset in ms sql server 我想选择从 x1 到
  • 如何优雅地处理请求中的连接错误?

    我有一个简单的 python 电报机器人 代码如下 import requests import json from time import sleep import os filename bot last update target o
  • 具有自动生成源的 Cmake 可执行文件

    我想从 test runner cpp 中创建一个可执行文件 add executable myexe CMAKE CURRENT BINARY DIR test runner cpp 但这个特定的 cpp 文件本身是在预构建命令中自动生成
  • 如何防止我的 macOS 应用程序同时运行多个实例?

    我有一个应用程序 我允许用户使用启动器应用程序通过首选项启用 登录时打开 请参阅https en atjason com Cocoa SwiftCocoa Auto 20Launch 20at 20Login html https en a
  • 在 Jenkins 中对参数组进行分组和装饰

    我正在编写一个带有相当多参数的 Jenkins 管道作业 并且我正在寻找一种方法visually将它们组合在一起 以便更容易理解 而不是将它们全部扔在那里 我会满足于至少暗示这些参数彼此相关这一事实的任何内容 可能是标题 也可能是盒子 有没
  • 配置更改时 Intent extras 为空

    我创建了一个显示在SurfaceView我可以得到setDataSource通过使用Bundle extras getIntent getExtras 一切正常 直到我尝试设置景观布局land layout xml 我的日志猫是 Cause
  • 没有验证错误时工具提示不显示 WPF

    我搜索并没有看到解决方案 如果我没有在组合框工具提示属性中设置工具提示 我只能获得显示工具提示的验证 我希望看到验证错误工具提示 当存在时 否则显示组合框属 性中的工具提示 当我从工具提示属性 即从组合框的属性面板 中删除文本时 验证工具提
  • 如何将升序和降序结合起来?

    我有一个非常大的文件 很多千兆字节 看起来像 输入 txt a textA 2 c textB 4 b textC 5 e textD 1 d textE 4 b textF 5 第一步 我想按第三列按降序对行进行数字排序 如果行与第三列具
  • MySQL Workbench:未选择对象

    我已经在我的机器上安装了 MySQL Workbench 但现在我无法选择左侧的表格 这是我目前所拥有的 如何访问数据库中的表 向下拉滚动条 我遇到了同样的问题 但我所需要做的就是扩展导航菜单
  • 生成列表 - 几何级数

    我想使用具有 4 个参数的谓词生成一个几何级数列表 将生成级数的列表 此列表的长度 起始元素和级数的乘数 到目前为止 我所做的只是使用一个 3 参数谓词来不间断地生成几何级数 gengeom X X gengeom H Tail H Q X
  • 如何对位标志枚举实现按位运算?

    我有一个如下所示的枚举 repr u8 pub enum PublicFlags PublicFlagVersion 0x01 PublicFlagReset 0x02 NoncePresent 0x04 IdPresent 0x08 Pk
  • 我可以在我的 iOS 应用程序中使用实验性 WebKit 功能吗?

    我正在使用react native 开发一个iOS 应用程序 我想使用仍处于 实验 阶段的 MediaRecorder 我在 Safari 高级设置中打开了它 但是当我尝试在我的应用程序中使用它时 var mediaRecorder new