javascript - 是否可以通过网络应用程序与任意客户端外围设备进行交互?

标签 javascript browser camera peripherals

我知道网络应用程序可以访问麦克风和网络摄像头等媒体设备,以及智能手机 GPS 等其他硬件。据我所知,这是通过针对每种特定类型的设备严格约束的协议(protocol)来完成的。

但是,我有an advanced scientific camera 。它仅对计算机有用 - 它附带一个桌面应用程序用于控制它和拍照。它还附带了一个 C/C++ SDK,可以在您自己的应用程序中与其交互。

浏览器显然无法将其识别为网络摄像头。即使确实如此,除了最基本的功能之外的所有功能都将被忽略。 摄像头位于客户端。是否可以编写一个可以与该相机交互并使用其所有功能的网络应用程序?我不是在寻找完整的解决方案,我只是不知道要谷歌什么。

任何数量的手动解决方案在这里都是公平的游戏。从纯 JavaScript 到浏览器插件再到位于之间的自定义桌面中间件伪驱动程序的任何内容。硬件、相机和浏览器。甚至将客户端绑定(bind)到特定操作系统也可以。

最佳答案

您可以使用 Silverlight 进行基本的视频捕获和屏幕抓取: https://msdn.microsoft.com/en-us/library/ff602282(v=vs.95).aspx

它也可以通过 Javascript 编写脚本: https://msdn.microsoft.com/en-us/library/cc645085(v=vs.95).aspx

问题是,Silverlight 即将消失。不过,官方要到 2021 年 10 月才会发布,因此在浏览器 vendor 推出 HTML 5 媒体捕获和流媒体之前,这可能仍然是一个选择: http://w3c.github.io/mediacapture-main/getusermedia.html

除了基本捕捉之外,您可能会寻找自定义浏览器扩展来控制相机的功能,认为它提供了 API

关于javascript - 是否可以通过网络应用程序与任意客户端外围设备进行交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30983918/

相关文章:

java - 2d 游戏相机

javascript - 如果模型包含使用 findWhere 存在的键,则返回 Backbone 模型

javascript - 如何在 jQuery 中为 $.each() 创建表

javascript - 是入口点,ES6 模块

css - 将 CSS 转换/动画减慢到 "slow motion"

python - 如何使用 python 的plotlyexpress 将多个图表添加到单个选项卡

java - Libgdx 视锥体剔除 actor.draw() 内

android - 使用 ACTION_GET_CONTENT 在 Android on 2.1 上选取图片和视频

javascript - 如何使用 jQuery 在 href 中选择 "a"标签具有特定文件类型?

Javascript:将新日期设置为明天早上 8 点