问题标签 [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.
javascript - 停止/关闭由 navigator.mediaDevices.getUserMedia 打开的网络摄像头流
我使用以下 JavaScript 代码打开了一个网络摄像头:
是否有任何 JavaScript 代码可以停止或关闭网络摄像头?谢谢大家。
javascript - 从 getUserMedia 录制音频流
最近几天,我尝试使用javascript来录制音频流。我发现没有有效的示例代码。
有浏览器支持吗?
这是我的代码
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(...) 提示允许使用设备没有的摄像头。没那么优秀!
有谁知道是否可以检测到相机的存在?理想情况下,如果他们没有相机,我不想提示用户访问相机的权限!
干杯
弥敦道
html - 在 Firefox 中检测 getUserMedia
我正在编写一个使用 getUserMedia 访问用户的网络摄像头并让他拍摄快照的网络应用程序。
这会优雅地降级以让他们手动上传文件,这在这种用例中更烦人,但至少他们可以将应用程序与其他浏览器一起使用。
我正在做的是:
- 如果浏览器不支持 getUserMedia,我会显示一个标志,上面写着“嘿,去换个更好的浏览器”
- 如果是,我显示“单击允许”,调用 getUserMedia
- 如果 getUserMedia 调用“失败”回调,我会显示“哎呀,这不起作用。您是否单击了允许?”
现在,Firefox确实支持 getUserMedia,但您需要在“about:config”中手动打开一个魔术标志。但是,如果该标志关闭(这是默认设置),则 getUserMedia 存在,因此看起来浏览器确实支持它,但调用它不会做任何事情(甚至不调用我的失败函数)
这是所有可能性中最糟糕的一种,因为我无法告诉用户任何真正有趣的事情。
有什么好方法可以干净地处理这个问题吗?如果标志关闭,任何让我知道 Firefox不支持相机的东西,基本上,没有我添加“如果 Firefox,假设它不受支持,直到我们中的一个人有一天意识到标志现在默认开启”。
html - 如何使用 getUserMedia 获取网络摄像头图像的大小?
我试图找出我使用 getUserMedia 从网络摄像头获得的图像的大小。
现在,在我的 Macbook 中,我应该有一个 720p 相机,但我得到的图像是 640x480。不过,我假设情况并非总是如此,我希望能够处理尽可能多的相机。(我更关心纵横比而不是尺寸本身,我只是想确保图片不会被拉伸)
是否有可能做到这一点?
谢谢!
丹尼尔
webrtc - WebRTC - 浏览器不要求本地 html 文件的麦克风访问权限
我有一些简单的 webRTC 代码,用于getUserMedia
访问用户的麦克风。现在,当我在浏览器中加载该 html 文件(保存在我的本地主机中)时,浏览器不会请求麦克风访问权限,因此无法访问。
但是当我在 w3schools.com 编辑器中运行相同的 html 时,它会请求麦克风访问权限,并且在允许它访问我的麦克风时,它工作正常......
为什么会出现这种奇怪的行为?
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,这有点可惜。
演示在这里。
html - 是否可以为 HTML5 API 创建自定义用户权限请求对话框?
是否可以为 HTML5 API(例如地理位置或 getUserMedia)创建自定义用户权限请求对话框,以便它们在所有浏览器中看起来都一样?
javascript - 取消 getUserMedia 请求
我的应用程序中有一个模式对话框,用于getUserMedia
显示来自用户相机的视频。这会导致出现“拒绝/允许”栏。假设用户在单击“拒绝”或“允许”之前关闭了对话框。即使使用它的元素已经消失,该栏仍然存在。
有没有办法通知浏览器它可以隐藏权限请求,即使用户从未与之交互过?
google-chrome - Chrome getUserMedia 视频无法在本地主机上运行
我正在尝试让 Chrome 的 getUserMedia 在我的本地主机上工作。
我的 index.php 文件是:
我的 script.js 文件是:
Chrome 要求我允许使用摄像头和麦克风(我接受),但没有任何反应。
有任何想法吗?