使用 Media * API 进行录制时,支持的媒体类型的完整列表在哪里?

2024-01-05

我正在尝试学习如何在浏览器中记录媒体,我可能会让事情变得过于复杂。有大量直接的例子,但当录音被推到一个高度时,我陷入了困境。Blob具有任意选择的媒体类型的对象,而不检查该格式是否受支持。因此,我认为有一个清单,或者人们只是继续以过去的经验为基础。

例如, 从Mido22/MediaRecorder-样本 https://github.com/Mido22/MediaRecorder-sample/blob/master/script.js:

      mediaOptions = {
        video: {
          tag: 'video',
          type: 'video/webm',
          ext: '.mp4',
          gUM: {video: true, audio: true}
        },
        audio: {
          tag: 'audio',
          type: 'audio/ogg',
          ext: '.ogg',
          gUM: {audio: true}
        }
      };
  media = mv.checked ? mediaOptions.video : mediaOptions.audio;
//...
function makeLink(){
  let blob = new Blob(chunks, {type: media.type })
//...

or from MDN 使用媒体流录制 API https://developer.mozilla.org/en-US/docs/Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recording_API:

 var blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });

The specs https://w3c.github.io/FileAPI/#blob and their https://developer.mozilla.org/en-US/docs/Web/API/Blob various https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob 文档 https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder大多数是通用描述,这是完全可以理解的,因为用户代理需要实现它们。

第一个答案这个问题 https://stackoverflow.com/questions/35466078/specifying-codecs-with-mediarecorder这几乎就是我的想法,但我想知道是否有更容易访问且最新的列表?


更新: 我感觉好像我刚刚从岩石下爬出来,因为我一发布这篇文章,我就意识到了两种最明显的方法......

  1. 查询媒体格式http://caniuse.com/ http://caniuse.com/
  2. MDN 支持的媒体格式 https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats

经过 @Kaiido 的指点:

  1. 媒体记录器 APIisTypeSupported https://w3c.github.io/mediacapture-record/MediaRecorder.html#example1
  2. getSupportedTypes() https://github.com/w3c/mediacapture-record/pull/65

None

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

使用 Media * API 进行录制时,支持的媒体类型的完整列表在哪里? 的相关文章

随机推荐

  • 飞碟不读取样式表

    我在 asp net 应用程序 使用 IKVM 中使用 Flyingsaucer 和 iText 将 HTML 转换为 PDF 如果我将样式直接放在 html 中 它可以正常工作 即使样式放在样式标签之间 但是当我链接样式表时 它无法注意到
  • CMake 项目找不到共享库

    我正在使用 CMake 构建跨平台项目 目前我正在尝试在 Linux 上运行它 我最近添加了一个用于运行测试的项目 但它不会运行 因为它找不到共享库之一 特别是libtbbmalloc so 2 tests error while load
  • 静态析构函数

    假设我有 void foo static Bar bar c 是否保证 Bar Bar 在 bar 上被调用 并且 Bar Bar 永远不会在 bar 上调用 直到 main 退出之后 Thanks 是的 第一次foo 叫做 Bar bar
  • 您如何向非程序员解释演员? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 好吧 标题差不多就是这样 如果我让一个非技术人员 我的妈妈 12 岁的男孩 可卡犬坐在你面前并要求你解释actors http en
  • Pandas - groupby ValueError:无法使用包含多个元素的元组对列进行子集化。使用列表代替

    我将我的 Pandas 从我认为是 1 5 1 更新到了 2 0 1 无论如何 我开始在一些以前运行良好的代码上出现错误 df df groupby df date dt date Lake Canyon mean reset index
  • 警告 C26454:算术溢出:“-”运算在编译时产生负的无符号结果 (io.5)

    代码分析 ON NOTIFY TCN SELCHANGE IDC TAB HISTORY TYPE CAssignHistoryDlg OnTcnSelchangeTabHistoryType 警告 C26454 算术溢出 运算产生负的无符
  • 使用 EF Core 在 Azure Functions 上的 Application Insights 中启用 Sql 依赖关系

    我有一个 Azure Function v3 应用程序 它使用Microsoft EntityFrameworkCore 3 1 5 我无法启用 SQL 依赖项跟踪 已经挣扎了1天了 为了隔离问题 我创建了一个不带 EF 的独立 Azure
  • 如何在Sphinx Alabaster主题下编辑侧边栏

    我有以下内容index rst file Know the cell population of your data Some content toctree maxdepth 2 Installation toctree maxdepth
  • 阻止 Chrome 缓存网站的 DNS 记录

    Chrome 会缓存 DNS 记录 并且在成功连接到我的网站 除非重新启动 后往往会忽略对主机文件的更改 启用 DNS 预取后 这种情况更加明显 是否有任何页面标头指示 Chrome 不缓存网站的 DNS 喜欢Cache Control或类
  • 您可以安装不需要 Visual Studio 的独立 TFS 客户端吗?

    是否可以在未安装 Visual Studio 的服务器上获得独立的 TFS 客户端 我们想要一种从服务器 访问 TFS 项目的方法 而无需安装 Visual Studio 可能的 我见过 Team Explorer 但是如果没有 Visua
  • 获取连接网络的 WiFi 信号强度

    我正在尝试在 Android 应用程序中显示已连接 WiFi 网络的信号强度 我尝试过以下方法 Receiver for information on the network info private BroadcastReceiver m
  • CakePHP:向表单添加字段(动态)

    我正在尝试动态地将字段添加到我的 CakePHP 表单中 但似乎我使用的每种方法都有其自己无法修复的缺点 这是我尝试过的 不要添加新的输入 只需用逗号分隔单个输入中的值即可 这看起来很简单 但在尝试分解输入并将每个值保存在数据库中的新行中时
  • 为 C# 生成 XML 文档的 XSD? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道某处是否有 XSD 文件可用于验证使用 doc 选项编译 C 项目时生成的 XML 文档 我想
  • 如何为依赖动态数据的函数编写单元测试?

    假设您有一个网站 它使用一个函数从数据库检索数据并返回要显示 解析 等的结果 由于从数据库检索的数据是动态的 并且可能每天都在变化 因此如何正确地为此函数编写单元测试 假设该函数应该返回一个结果数组 显然 单元测试可以测试是否返回数组 但是
  • 如何设置 Windows 符号服务器

    我在网络上有一个备用服务器 我想用它来托管我们所有的构建符号 我已经知道如何在本地开发系统上设置符号缓存并将调试器 例如 Windbg 指向 符号文件路径 中的该路径 我认为我可以对网络上具有自己的符号缓存 例如 host symbols
  • 错误:Firestore 已初始化。您只能调用 settings() 一次,并且只能在调用 Firestore 对象上的任何其他方法之前

    因此 我正在为 firebase 规则编写测试 以便我可以为我在 stackoverflow 上编写的另一个问题创建可重现的代码 但我收到此错误 mocha test2 js Our social app 1 Can read a sing
  • VBA从Word表格复制到Excel

    我正在尝试从 Word 文件中的特定表单元格生成一个包含 5 列的 Excel 文件 从 Word 表复制到 Excel 我的Word文件有280个表格 我对要从 Word 文件复制的单元格进行寻址没有问题 但我不知道为什么结果是一个空白的
  • 通过 iPhone Web 应用程序访问相机

    据我了解 不太可能通过 HTML 访问网络摄像头 那么在 iPhone 上呢 是否可以 从 iOS6 开始 您可以使用以下命令访问相机和照片
  • 如何为Python 3子进程分配CPU亲和力?

    我在 Python 方面还是个新手 我在 Windows 7 和 Windows 10 上运行 Tkinter GUI 我有一个子进程以 1 KHz 运行数据记录器例程 我想为子进程设置 cpu 亲和力 我正在使用 Python 3 8 进
  • 使用 Media * API 进行录制时,支持的媒体类型的完整列表在哪里?

    我正在尝试学习如何在浏览器中记录媒体 我可能会让事情变得过于复杂 有大量直接的例子 但当录音被推到一个高度时 我陷入了困境 Blob具有任意选择的媒体类型的对象 而不检查该格式是否受支持 因此 我认为有一个清单 或者人们只是继续以过去的经验