Primefaces 6.2 PhotoCam - Firefox / Safari

我正在尝试使用 Primeface 的 PhotoCam(版本 6.2),并且使用他们展示中的示例,该相机在 Firefox(开发人员版 63.0b13)或 Safari 版本 12 上对我不起作用......并且在 Safari 上不起作用移动设备(移动设备在 iOS12 上)。

它被部署到一个带有 https 的站点,并且可以在 Chrome 桌面和移动浏览器上运行。

我现在正在使用展示演示,可以在这里找到(代码也在下面发布):

https://www.primefaces.org/showcase/ui/multimedia/photoCam.xhtml

我什至下载了展示战争文件并尝试了该版本,但没有成功。

有人可以帮忙吗?

发生了什么?

在 Firefox 上:

  • 我收到允许访问相机的提示,我单击确定。

  • 我得到一个运行 Adobe Flash 的提示,我同意。

  • 接受两者后,相机“盒子”只是白色的。

  • 当我单击“捕获”时,收到的错误是“Webcam.js 错误:尚未加载网络摄像头”。

  • 注意:控制台在页面加载时返回“unreachable code after return statement[Learn More]”,但在接受这两个提示后没有显示其他消息。

在 Safari 上:

  • 我收到允许访问相机的提示,我单击确定。

  • 我收到错误“Webcam.js 错误:无法访问网络摄像头:类型错误:类型错误类型错误:类型错误”

在移动设备上的 Safari 上:

  • 我收到错误“Webcam.js 错误:无法访问网络摄像头:错误:约束无效错误:约束无效”

这是xhtml:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"

            xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"

            xmlns:p="http://primefaces.org/ui" template="/common/template.xhtml">

<ui:define name="title">PhotoCam</ui:define>

<ui:define name="content">

    <h:form>

        <h:panelGrid columns="3" cellpadding="5">

            <p:photoCam widgetVar="pc" listener="#{photoCamView.oncapture}" update="photo"/>

            <p:commandButton type="button" value="Capture" onclick="PF('pc').capture()"/>

            <p:outputPanel id="photo">

                <p:graphicImage name="demo/images/photocam/#{photoCamView.filename}.jpeg"

                                rendered="#{not empty photoCamView.filename}"/>

            </p:outputPanel>

        </h:panelGrid>

    </h:form>

</ui:define>

这是java类


public class PhotoCamView {


private String filename;


private String getRandomImageName() {

    int i = (int) (Math.random() * 10000000);


    return String.valueOf(i);

}


public String getFilename() {

    return filename;

}


我很感激这方面的任何帮助。


(我也在 Primefaces 论坛上发布了这个,希望这里或那里有人可以帮助我。当我弄清楚这一点时,我会更新这两个网站)



茅侃侃
浏览 149回答 2
2回答

狐的传说

只需从Github下载 webcam.js并将其放在您的 xhtml 文件夹中。然后添加<script type="text/javascript" src="webcam.js"></script>到您的 xhtml 文件

侃侃尔雅

我最近刚刚将 Photocam 更新到其 JS 插件的最新版本,并修复了 IE11 的类似错误。看这里:https://github.com/primefaces/primefaces/issues/4094https://github.com/primefaces/primefaces/issues/3755我强烈建议您从 GitHub 尝试 6.3-SNAPSHOT 版本的 PrimeFaces,并让我们知道这个最新版本是否解决了您的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java