问题标签 [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 投票
16 回答
179717 浏览

javascript - 停止/关闭由 navigator.mediaDevices.getUserMedia 打开的网络摄像头流

我使用以下 JavaScript 代码打开了一个网络摄像头:

是否有任何 JavaScript 代码可以停止或关闭网络摄像头?谢谢大家。

0 投票
5 回答
21659 浏览

javascript - 从 getUserMedia 录制音频流

最近几天,我尝试使用javascript来录制音频流。我发现没有有效的示例代码。

有浏览器支持吗?

这是我的代码

0 投票
5 回答
14388 浏览

javascript - getUserMedia - 如何检测设备是否真的有摄像头

我正在使用 html5/javascript getUserMedia api 编写一个 js 应用程序,如果可用,它将使用设备的相机。我正在使用 Modernizr 来检测(浏览器的)功能,如下所示:

在真正的块内:

这工作正常。但我发现 Modernizer.getUserMedia 调用根据支持 api 的浏览器返回 true,而不是设备是否真的有摄像头。

IE。在我的带有 iSight 摄像头和当前版本 Chrome 的 MacBook 上,Modernizr.getUserMedia 返回 true,然后 navigator.getUserMedia(...) 提示允许使用摄像头。出色的

但是,在另一台没有摄像头但使用当前版本的 Chrome 的机器上,Modernizr.getUserMedia 返回 true,这意味着 navigator.getUserMedia(...) 提示允许使用设备没有的摄像头。没那么优秀!

有谁知道是否可以检测到相机的存在?理想情况下,如果他们没有相机,我不想提示用户访问相机的权限!

干杯

弥敦道

0 投票
1 回答
2167 浏览

html - 在 Firefox 中检测 getUserMedia

我正在编写一个使用 getUserMedia 访问用户的网络摄像头并让他拍摄快照的网络应用程序。

这会优雅地降级以让他们手动上传文件,这在这种用例中更烦人,但至少他们可以将应用程序与其他浏览器一起使用。

我正在做的是:

  • 如果浏览器不支持 getUserMedia,我会显示一个标志,上面写着“嘿,去换个更好的浏览器”
  • 如果是,我显示“单击允许”,调用 getUserMedia
  • 如果 getUserMedia 调用“失败”回调,我会显示“哎呀,这不起作用。您是否单击了允许?”

现在,Firefox确实支持 getUserMedia,但您需要在“about:config”中手动打开一个魔术标志。但是,如果该标志关闭(这是默认设置),则 getUserMedia 存在,因此看起来浏览器确实支持它,但调用它不会做任何事情(甚至不调用我的失败函数)

这是所有可能性中最糟糕的一种,因为我无法告诉用户任何真正有趣的事情。

有什么好方法可以干净地处理这个问题吗?如果标志关闭,任何让我知道 Firefox支持相机的东西,基本上,没有我添加“如果 Firefox,假设它不受支持,直到我们中的一个人有一天意识到标志现在默认开启”。

0 投票
2 回答
17854 浏览

html - 如何使用 getUserMedia 获取网络摄像头图像的大小?

我试图找出我使用 getUserMedia 从网络摄像头获得的图像的大小。

现在,在我的 Macbook 中,我应该有一个 720p 相机,但我得到的图像是 640x480。不过,我假设情况并非总是如此,我希望能够处理尽可能多的相机。(我更关心纵横比而不是尺寸本身,我只是想确保图片不会被拉伸)

是否有可能做到这一点?

谢谢!
丹尼尔

0 投票
7 回答
12689 浏览

webrtc - WebRTC - 浏览器不要求本地 html 文件的麦克风访问权限

我有一些简单的 webRTC 代码,用于getUserMedia访问用户的麦克风。现在,当我在浏览器中加载该 html 文件(保存在我的本地主机中)时,浏览器不会请求麦克风访问权限,因此无法访问。

但是当我在 w3schools.com 编辑器中运行相同的 html 时,它会请求麦克风访问权限,并且在允许它访问我的麦克风时,它工作正常......

为什么会出现这种奇怪的行为?

0 投票
1 回答
3248 浏览

javascript - 在 Javascript 中读取 Firefox 的 media.navigator.enabled 的值

我一直在使用 Javascript 中的 getUserMedia() 构建一个演示,以获取设备网络摄像头并将视频流绘制到 html5 画布上。对于不支持 getUserMedia() 的浏览器,我默认使用 Flash 版本的演示。

现在这一切在 Chrome 和 Opera 以及几乎在 Firefox 18 中都可以正常工作。但是 Firefox 仍然存在问题 - 在配置文件中 media.navigator.enabled 默认仍设置为 false。这意味着用户无法选择是否启用相机,我的脚本只是等待永远不会出现的答案。

现在显然我无法在配置文件中更改或设置此首选项,我也不想这样做。但是,无论如何获取此标志的值,以便我可以在继续“if(media.navigator.enabled)...”之前运行检查?

否则,我将不得不始终将 Flash 用于 Firefox,这有点可惜。

演示在这里

0 投票
2 回答
1399 浏览

html - 是否可以为 HTML5 API 创建自定义用户权限请求对话框?

是否可以为 HTML5 API(例如地理位置或 getUserMedia)创建自定义用户权限请求对话框,以便它们在所有浏览器中看起来都一样?

0 投票
2 回答
1435 浏览

javascript - 取消 getUserMedia 请求

我的应用程序中有一个模式对话框,用于getUserMedia显示来自用户相机的视频。这会导致出现“拒绝/允许”栏。假设用户在单击“拒绝”或“允许”之前关闭了对话框。即使使用它的元素已经消失,该栏仍然存在。

有没有办法通知浏览器它可以隐藏权限请求,即使用户从未与之交互过?

0 投票
3 回答
6636 浏览

google-chrome - Chrome getUserMedia 视频无法在本地主机上运行

我正在尝试让 Chrome 的 getUserMedia 在我的本地主机上工作。

我的 index.php 文件是:

我的 script.js 文件是:

Chrome 要求我允许使用摄像头和麦克风(我接受),但没有任何反应。

它在jsfidde上运行良好

有任何想法吗?