我一直在Mac OS X 10.9 Mavericks上测试Apple CoreMediaIO sample camera。
我尝试过的本地应用程序可以自动检测并识别样本摄像头(如Skype,AVRecorder - Apple's AVFoundation capture API sample)
在Mozilla Firefox和Opera浏览器中,我已经检查过的基于Flash Player的网站(例如Adobe's Cirrus sample)自动检测到相机,但在Safari和Chrome中,视频输入设备中缺少样本相机列表。
我怎样才能让这些浏览器识别出这样一个网站上的CoreMediaIO示例相机?
答案 0 :(得分:1)
导致这种情况发生的问题是,在Mavericks上,当前的Safari使用沙盒Flash Player拒绝检测样本摄像头。
您可以通过允许网站以不安全模式运行Flash Player来解决此问题:(确保您允许网站在Flash Player弹出窗口中使用您的摄像头)
从现在开始,Safari可以检测特定网站上的样本摄像头。
我找不到更好/全面的解决方案了。
此问题主要基于当前Chrome中默认禁用的Mac OS X AVFoundation API(CoreMediaIO示例使用它)。
Chrome有多种方法可以检测样本相机。
到目前为止,我最好的解决方案如下:
据我所知,关键AVFoundation标志的内部ID为 IDS_FLAGS_DISABLE_AVFOUNDATION_NAME 。 只要您尝试在Chrome(OS X Mavericks)中使用基于AVFoundation的内容,您可能需要这样做。 (我不知道为什么默认值被禁用,但我希望他们会改变它,因为Apple倾向于弃用QTKit。)
我更喜欢的其他解决方案:
禁用Pepper Flash(PPAPI)并改为使用NPAPI Flash Player。
还有另一个涉及Mozilla Firefox的临时解决方案。我不知道为什么这会有效,我认为这可能在将来很容易改变,但我尝试并证实它现在有效:
如果您关闭Chrome,则必须重做步骤2中的流程。似乎Firefox初始化了一些使Chrome启动不同并导致它检测样本相机的东西。我不建议依赖它。