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