blazor - Blazor 访问硬件
问题描述
我目前使用注入 IJSRuntime以及navigator.geolocation、navigator.mediaDevices 但它正确吗?仅使用 C# 就不能在没有 javascript 的情况下访问这些功能吗?你怎么看待这件事 ?感谢您的反馈意见。丹尼尔·克米尼克
解决方案
我现在正在研究这个问题,答案是不,你必须使用 JSInterop。是的,它可以通过互操作来完成。有关 GeoLocation 的示例,请参阅 Ed Charbeneau 的电子书Blazor:初学者指南,我已链接到支持源代码。还可以查看 AspNetMonsters/Blazor.Geolocation 我已经使用了几个月,它很棒。
关于 MediaDevices:我已经编写了一些 JS Interop/Blazor 代码并验证 Blazor 可以看到它,但没有太大进展。与地理定位不同,找不到任何示例。
我真的无法解释为什么你不能从 C# 访问这些设备。高于我的工资等级。但我想这可能是浏览器不提供 API(这实际上是可以访问硬件的),或者底层的 Blazor 电路。如果我取得任何进展,我会更新。
推荐阅读
- java - Spring Boot JPA:将一个实体映射到具有相同列的多个(很多)表
- r - 如何在 R 中的单个 Excel 工作表中附加数据框?
- sql - 如何按月计算列中的值?
- c++ - 在 C++ 中样板化“cold/never_inline”错误处理技术的最佳方法是什么?
- javascript - 是否可以使用 ES6 模板文字而不是 express.js 的视图引擎?
- python - 使用 Tkinter Python 3 时删除基本窗口(Askopenfiledialogue)
- ubuntu - 使用 riscV 构建 gem5 时出现构建错误
- python - 如何在 python 中绘制 pandas timestamps.Timestamp 或 datetime.time
- vagrant - 在哪里报告 Vagrant 盒子的错误?
- javascript - chrome 扩展中的 Twilio 客户端。device.connect 运行时用户拒绝访问麦克风