Foxtable(狐表)用户栏目专家坐堂 → 调用摄像头原生代码在


  共有2438人关注过本帖树形打印复制链接

主题:调用摄像头原生代码在

帅哥哟,离线,有人找我吗?
刘林
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
调用摄像头原生代码在  发帖心情 Post By:2017/10/15 20:47:00 [只看该作者]

<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <title>Camera Example</title>
    <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
    console.log("plusready");
}
// 摄像
function videoCapture(){
    var cmr = plus.camera.getCamera();
    var res = cmr.supportedVideoResolutions[0];
    var fmt = cmr.supportedVideoFormats[0];
    console.log("Resolution: "+res+", Format: "+fmt);
    cmr.startVideoCapture( function( path ){
            alert( "Capture video success: " + path );  
        },
        function( error ) {
            alert( "Capture video failed: " + error.message );
        },
        {resolution:res,format:fmt}
    );
}
    </script>
    </head>
    <body>
        <button >摄像</button>
    </body>
</html>


老师,查了一段调用摄像头的h5原生代码,如何在prequest事件中应用,也就是该如何改写成在fox中测试应用

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 20:50:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/10/15 21:46:00 [只看该作者]

我一直有个问题没解决,在网页浏览器中能打开摄像头,照像上传,但用HBULIDER打包的在同样代码,同样的功能处就调不出摄像头就不行了,针对的wui做手机网页到底该怎么做,老师帮给个具体例子,或在帮助中直接写下这个办法?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 21:53:00 [只看该作者]

如果打包成app,你可以直接调用手机的摄像头功能。

 

请把hbuilder自带的例子看一遍。

 

图片点击可在新窗口打开查看

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 21:55:00 [只看该作者]

使用uploader控件的,打包后,我手机可以调用摄像头拍照。

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/10/16 14:04:00 [只看该作者]

老师,我按你说的方法做了,还是不行,请老师帮用hbulider打下包试一下,看是不是我哪里没做对:首页http://47.92.95.136:8080/logon.htm   测试帐号:511011197405034877 密码654321,帮看下,始终调不出摄像头


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/16 14:17:00 [只看该作者]

 安卓手机,点击【+】,弹出【选择应用】,然后选择【相册】,打开相册,在相册最左边有一个摄像头的图片,点击。


 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/10/16 15:12:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:网页中.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:打包后.png
图片点击可在新窗口打开查看
我一直就觉得这个问题很晕,首先我上按你楼上说的打开相册,但就是没有摄像头图标,其次如果要拍照这么多个步骤也麻烦了,如何能像在手机浏览器中打开的方式,我看了些有关资料,还是弄不好,如何让uploader控件直接调用摄像头。请帮研究一下如何做,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/16 22:23:00 [只看该作者]

打包后的app,不支持直接调出摄像头(部分手机可以在相册里面直接调出摄像头)。这个没办法,无法解决。

 

如果修改代码改成使用app代码调出摄像头、拍照、上传,那你之前添加的uploader就没用了。相当于重写uploader,这是大改,你代码也要大改,而这个重写只能在app里用。

 

建议做一个折中的选择,做一个按钮调用摄像头(app代码),保留uploader选择图片,拍照和选择的分别上传。这样你的网页既可以在浏览器里用又可以在app里用,代码也不需要大改,只需要增加拍照上传的代码,相对简单。

 

下面这个例子,看懂,改成自己的

  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:002hbuilder实例二(拍照上传).zip

使用上面的例子参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=107063&skin=0

 


 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/10/17 11:38:00 [只看该作者]

Dim e As RequestEventArgs = args(0)
Dim wb As New  weui
Dim dr As DataRow = DataTables("用户").sqlfind("身份证号 = '" & e.Cookies("username") & "'")
If e.GetValues.ContainsKey("deldid") Then
    DataTables("学生信息").SQLDeleteFor("[_Identify] = " &  e.GetValues("deldid"))
End If
'订单编辑
Dim pr As DataRow  '订单
Dim srs As List(of DataRow)  '订单明细集合
Dim Page As Integer  '页码变量
If e.GetValues.ContainsKey("page") Then   '如果地址中有page参数
    Integer.TryParse(e.GetValues("page"), page)  '提取page参数
End If
If e.GetValues.ContainsKey("oid") = False Then '如果没有传递订单编号,则新增与一个订单
    pr =  DataTables("学生信息").addNew()
    pr("状态")="在读原籍在读"
    DataTables("学生信息").save
Else '如果传递了订单编号,则找出此订单进行编辑
    pr = DataTables("学生信息").SQLFind("_Identify='" & e.GetValues("oid") & "'")
    If  pr Is  Nothing Then '多用户情况下,必须考虑其他用户删除订单的可能.
        wb.InSertHtml("该学生信息删除了")
        e.WriteString(wb.Build)
        Return  ""  '必须返回
    End  If
End  If
wb.AppendCookie("xssfzh",pr("身份证件号"))
Dim url As String= "edit.htm?page=" & page &  "&oid=" & pr("_Identify")  '传递页码和订单编号
wb.AddForm("","form1",url)
With wb.AddInputGroup("form1","ipg1","信息修改")
    Dim In1 = .AddInput("学生姓名","学生姓名","text")
    In1.Value = pr("学生姓名")
    in1.attribute ="style='margin-top:5px;color:blue'"
    .AddInput("身份证件号","身份证号","text").Value = pr("身份证件号")
    .AddInput("学籍号","学&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;籍","text").Value = pr("学籍号")
    .AddInput("联系电话","联系电话","text").Value = pr("联系电话")
    .AddInput("家庭住址","家庭住址","text").Value = pr("家庭住址")
    If pr.Isnull("民族")
        .AddSelect("民族","民&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;族"," |" & DataTables("民族代码").SQLGetComboListString("民族","","代码"))
    Else
        .AddSelect("民族","民&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;族"," |" & DataTables("民族代码").SQLGetComboListString("民族","","代码").replace(pr("民族"), "[" & pr("民族") & "]"))
    End If
    If pr.Isnull("政治面貌")
        .AddSelect("政治面貌","政治面貌"," |" & DataTables("政治面貌").SQLGetComboListString("政治面貌","","代码"))
    Else
        .AddSelect("政治面貌","政治面貌",pr("政治面貌") & "|" & DataTables("政治面貌").SQLGetComboListString("政治面貌","","代码"))'.replace(pr("政治面貌"), "[" & pr("政治面貌") & "]"))
    End If
    If pr("户口性质") = "农业户口"
        .AddSelect("户口性质","户口性质"," |[农业户口]|非农业户口")
    ElseIf pr("户口性质") = "非农业户口"
        .AddSelect("户口性质","户口性质"," |农业户口|[非农业户口]")
    Else
        .AddSelect("户口性质","户口性质"," |农业户口|非农业户口")
    End If
   
    If pr.Isnull("健康状况")
        .AddSelect("健康状况","健康状况"," |" & DataTables("健康状况").SQLGetComboListString("健康状况"))
    Else
        .AddSelect("健康状况","健康状况"," |" & DataTables("健康状况").SQLGetComboListString("健康状况").replace(pr("健康状况"), "[" & pr("健康状况") & "]"))
    End If
    .AddSelect("状态","状&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;态",pr("状态") & "|在读原籍在读|在读区内转入|在读市内转入|在读省内转入|在读国内转入|转出区内转出|转出市内转出|转出省内转出|转出国内转出|转出毕业转出|转出其他转出")
   
    Dim bj As String = pr("班级")
    If bj.Length>=9
        Dim xd As String = bj.SubString(0,2)
        Dim ji As String = bj.Substring(2,5)
        Dim ban As String = bj.split("级")(1)
        Dim lb As String = "小学|初中|高中"
        lb = lb.replace(xd,"[" & xd & "]")
        .AddSelect("学段","学&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;段",lb)
        .AddSelect("学级","学&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;级"," |" & DataTables("级").SQLGetComboListString("级","","级").replace(ji, "[" & ji & "]"))
        .AddSelect("班级","班&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;级",ban & "|" & DataTables("班").SQLGetComboListString("班","","序"))
    Else
        .AddSelect("学段","学&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;段","|小学|初中|高中")
        .AddSelect("学级","学&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;级"," |" & DataTables("级").SQLGetComboListString("级","","级"))
        .AddSelect("班级","班&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;级"," |" & DataTables("班").SQLGetComboListString("班","","序"))
    End If
End With
With wb.AddButtonGroup("form1","btg1",False)
    .Add("btn2", "保存", "submit")  '正常提交,保存后进入编辑状态
    .Add("btn2", "照相", "button","camera.htm")
    If  e.GetValues.ContainsKey("oid") = True Then '如过是新增订单
        If dr("角色").Contains("班主任")=True
            .Add("btn3", "返回", "button","xlist.htm?page=" & page & "&oid=" & pr("_Identify")) '删除新增订单后返回列表
        End If
        If dr("角色").Contains("教务主任")=True
            .Add("btn3", "返回", "button","xlist.htm?page=" & page & "&oid=" & pr("_Identify")) '删除新增订单后返回列表
        End If
    Else
        If dr("角色").Contains("班主任")=True
            .Add("btn3", "返回", "button","list.htm?page=" & page) '返回列表
        End If
        If dr("角色").Contains("教务主任")=True
            .Add("btn3", "返回", "button","xlist.htm?page=" & page) '返回列表
        End If
    End  If
End With
pr.Save()
If e.PostValues.Count > 0 Then '如果是通过提交按钮访问,则给一个已经保存的提示给用户,时长500毫秒
    wb.AddToast("","t1", "已经保存",0).Msec= 500
End If
wb.AppendHTML("<script src='./lib/order.js'></script>")  '引入脚本文件
e.WriteString(wb.Build) '生成网页

 

 

 

老师,看了你发的例子,由于基础差,看不懂,做来试了也不行,我现在是想在红色代码处加一个照相功能,并将文件名用当前身份证号做文件名压缩上传,请老师直接帮写个代码来慢慢理解,确实整不好,谢谢


 回到顶部
总数 18 1 2 下一页