Safari:
导致这种情况发生的问题是,在 Mavericks 上,当前 Safari 使用沙盒 Flash Player,它拒绝检测示例摄像头。
您可以通过允许网站在不安全模式下运行 Flash Player 来解决此问题:(确保您已允许网站在 Flash Player 弹出窗口中使用您的相机)
- 转到 Safari/首选项。
- 转到安全页面。
- 点击管理网站设置。
- 在左侧窗格中选择 Adobe Flash Player。
-
选择您已允许使用相机并希望与相机一起使用的网站。
-
点击组合框。
- 选择在不安全模式下运行。
- 在弹出窗口中选择信任。
-
刷新网站。
从现在开始,Safari 可以检测特定网站上的示例摄像头。
我还没有找到更好/全面的解决方案。
铬:
这个问题主要是由于当前Chrome默认禁用了Mac OS X AVFoundation API(CoreMediaIO示例使用了它)。
有多种方法可以让 Chrome 检测示例相机。
到目前为止,我最好的解决方案如下:
- 在 chrome 中打开一个新标签。
- 转到 chrome://flags。
- 搜索“启用 Mac OS X AVFoundation API,而不是 QTKit、Mac” 条目。
- 将上述条目设置为Enabled。
-
重新启动 Chrome。
据我所知,关键 AVFoundation 标志的内部 ID 是 IDS_FLAGS_DISABLE_AVFOUNDATION_NAME。
只要您尝试在 Chrome(OS X Mavericks)中使用基于 AVFoundation 的东西,您可能会需要它。 (我真的不知道为什么默认值被禁用,但我希望他们会改变它,因为 Apple 倾向于弃用 QTKit。)
我不太喜欢的其他解决方案:
禁用 Pepper Flash (PPAPI) 并改用 NPAPI Flash Player。
- 在 chrome 中打开一个新标签。
- 转到 chrome://plugins。
- 点击右上角详细信息旁边的加号 (+)。
- 搜索 Adobe Flash Player 插件部分。
- 找到 Pepper Flash 版本(PPAPI 类型)。
- 点击禁用。
-
刷新网站。
Google 打算很快弃用 NPAPI Flash Player,这使得 Pepper Flash (PPAPI) 成为唯一的替代方案,这就是尝试寻找比这更好的解决方案的原因。考虑到 NPAPI Flash Player 的未来,我不建议依赖此解决方案。
还有另一个涉及 Mozilla Firefox 的临时解决方案。我不知道这究竟为什么有效,我认为这在未来可能很容易改变,但我尝试并验证它目前有效:
- 完全关闭 Chrome(Chrome/退出 Google Chrome 或 Command+Q)。
-
启动 Firefox。
-
转到您想使用相机的网站(任何需要相机列表的基于 Flash Player 的网站都可以使用)。
-
打开 Chrome。
- 关闭 Firefox。
-
在 Chrome 中访问网站。
如果您关闭 Chrome,则必须从第 2 步开始重新执行该过程。似乎 Firefox 初始化了一些使 Chrome 启动不同并导致它检测示例相机的东西。不过我不建议依赖这个。