问题标签 [getusermedia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6642 浏览

javascript - 在 JavaScript 中将音频从 getUserMedia() 编码为 .OGG

所以我有这个我正在处理的 HTML5 项目,我正在将 iOS 应用程序转换为基于 Web 的应用程序。伴随应用程序内容创建的一部分是录音,我试图在不使用插件的情况下在 JavaScript 中复制它;到目前为止,我已经能够从 getUserMedia() 录制音频,并通过 Recorder.js 将其转换为 WAV。

然而,现在我有点迷路了。我目前有两个单独的视图,一个用于录制内容,一个用于回放,但我不知道如何将从 Recorder.js 导出的音频放入我的 JSON 有效负载中进行播放(我想避免强制服务器上传或客户端下载)。

所以我想我的具体问题是,我如何获取 Recorder.js 制作的 blob 对象(我几乎一无所知)并将其转换为原始数据,或者以某种方式通过 JSON 发送文件?

更新:我决定尝试使用 speex.js 工具 ( https://github.com/jpemartins/speex.js ) 来编码 .OGG(比 .WAV 小得多)。但是,我不确定如何使用它。演示页面似乎对我不起作用,并且尝试调用.encode()Speex 对象的函数似乎并没有真正对数据进行编码,我只在对象字段中得到零。有谁知道我可以学习如何使用这种工具的任何资源?

0 投票
2 回答
20014 浏览

html - 如何使用 Internet Explorer 使用网络摄像头

有什么方法可以getUserMedia在 Internet Explorer 中运行并使用网络摄像头(不使用 Flash)?

0 投票
2 回答
3393 浏览

ruby-on-rails - 如何在 AJAX 中将 RecordRTC blob 文件上传到 Rails 回形针

在客户端,用户使用RecordRTC录制短视频。当用户按下上传时,我将blob使用 获取视频的数据recorder.getBlob(),并将其上传到我的服务器(使用 Rails 和回形针处理文件上传)。

起初,我想将<input type='file'>字段值更改为blob数据。事实证明,为了浏览器的安全性,我无法使用 javascript 更改它。

然后,我尝试使用 AJAX:

但是,它不起作用。log文件中,我将得到以下无法处理的信息:

如果我使用 正常提交form,我的参数将如下所示:

我该如何解决这个问题?

非常感谢。

0 投票
2 回答
3626 浏览

google-chrome - Selenium ChromeDriver - 记住 getUserMedia 网络摄像头访问的“始终允许”设置

我有一个在本地网络服务器上运行的页面,在 https 页面上,它使用 getUserMedia API 来做一些 photobooth 式网络摄像头的东西。

在 ChromeDriver 中,浏览器不会记住允许网络摄像头访问的“始终允许”设置。我可以选择,它会在浏览器运行时记住该偏好,但是一旦我退出/重新打开,提示就会返回。

我正在运行 Chromedriver 26.0.1383.0。

有人知道如何让这种偏好永久存在吗?

0 投票
2 回答
8296 浏览

video-streaming - 如何将视频从浏览器提交/流式传输到服务器?

getUserMedia()我可以在浏览器中使用录制视频。但是,我还没有找到从浏览器向服务器提交(录制)或流式传输(实时)视频的便捷方法。

只有我发现将视频渲染到画布,然后提交或流式传输渲染的图像,例如通过数据 uri。(这是无效的。)

有没有更好的办法?(例如,直接流式传输二进制数据或将它们存储在文件中,然后发送此文件。)

更新:我发现了类似的老问题: Stream getUserMedia to an Icecast server?

0 投票
1 回答
1685 浏览

javascript - Web Audio API 麦克风在 Chrome Canary 上不起作用

我完全感到困惑,因为这是几天前对我有用的东西,现在却不行了。我无法使用 Web Audio Api 或 getUserMedia 从麦克风获取音频输入。我正在使用 Mac 和 Chrome Canary 29。我没有在以下链接中获得麦克风输入: http ://webaudiodemos.appspot.com/AudioRecorder/index.html

在系统的麦克风偏好设置中,我确实看到了来自麦克风的输入。

几天前它工作了,我必须使用 Web Audio API 开发一个应用程序......不知道该怎么办。任何想法将不胜感激。

0 投票
3 回答
808 浏览

ios - 所有浏览器和平台中的 HTML5 和视频捕获可能性

在过去的几个月里,我已经开始使用 HTML5 搜索视频录制的可能性。但我发现它只能在桌面浏览器operachrome使用getUserMedia(),而且我不知道移动浏览器。因为 HTML5 现在正在蓬勃发展。谁能告诉我所有桌面和移动浏览器都可以用 HTML5 录制视频吗?如果可能,请向我解释如何?....请让我知道在所有平台上使用 HTML5 进行视频捕获的可能性是什么。

0 投票
1 回答
1930 浏览

javascript - 如何使用 recorder.js、getUserMedia 和 blob.slice 正确切片音频文件?

我正在使用 HTML5 构建一个简单的录制应用程序,我正在尝试将文件拆分为更小的位并将每个位保存到 Web 服务器以模拟实时流媒体?我已经获得了记录和拆分的代码,但由于某种原因,只有第一个切片会记录。其余的有数据但不会播放(至少不在 vlc 中)

这是代码:

我做错了什么,为什么第一个文件记录但没有后续文件?我是一个完整的新手,所以请温柔。如果有更好的方法可以做到这一点,我会全力以赴!

根据要求,这里是 savefile.php 的代码

0 投票
3 回答
1520 浏览

getusermedia - 仅在点击时获取用户媒体

我正在尝试从网络摄像头捕获视频/照片。我发现一个脚本可以正常工作,但我想仅在单击按钮时启动相机访问。使用此脚本,它将立即启动(我不想这样做)。请问如何在点击时绑定此事件?

0 投票
2 回答
3421 浏览

html - 使用 getUserMedia/Web Audio API 同步播放和录制音频

我目前正在为音乐家开发一个基于网络的协作录音平台,类似于移植到网络的基本 DAW(具有额外的社交/共享功能)。无论如何,我的目标是让它 100% 无闪存,所以我已经阅读了很多关于 HTML5 的内容,特别是 Web Audio API(本书帮助很大,顺便说一句)。

为了从用户的麦克风录制音频,我使用 getUserMedia() 制作了一个自定义版本的RecorderJS。简而言之,我将 getUserMedia() 的输出路由到 ScriptProcessorNode,该 ScriptProcessorNode 每隔 4096 个样本将 inputBuffer 的内容写入一个数组,该数组稍后会导出到一个 PCM WAV 文件。到目前为止,它工作正常。

问题是录制过程的开始涉及两件事:播放所有先前录制的音轨,因此音乐家有一个可以在其上播放的引用,以及开始实际录制(即,将缓冲区写入数组)。

虽然在用户录制时麦克风的声音没有可听的延迟或延迟,但当录制结束并播放所有音轨时,新录制的音轨会有轻微的延迟。

这可能是什么原因造成的?有哪些可能的解决方案?

我想我可以通过将播放发送到同一个处理器节点然后找出它们实际开始的时间来找到两个事件之间的时间差,以补偿任何延迟。为此,我需要让 ScriptProcessorNode 在通道 1 和 2 上接收例如 getUserMedia 内容,并在通道 3 和 4 上播放,但我无法完成这项工作。我尝试将这两个源路由到处理器节点,也尝试使用合并/拆分器,但似乎没有任何效果。它们都在通道 1 和 2 上到达处理器节点,而通道 3 和 4 则为空。

抱歉,如果这是题外话或不包含实际代码(如有必要,我很乐意提供),但在这方面没有做太多的事情,所以任何想法都会受到欢迎。

提前致谢!