zoukankan      html  css  js  c++  java
  • 与安卓交互的上传图片 与 上传语音、视频

    1、与安卓语音的交互

    注意:获取语音的src 需要用DOM元素获取

    (1)HTML (点击按钮告诉安卓,录音开始与结束)

    <span class="voice" onclick="voicecli()">上传语音</span>

    (2)JS  

    //点击语音
    function voicecli() {
        $('.addPicture').hide();
        $('.expaddVoice').show();
        //调方法
        //判断调安卓方法显示或隐藏语音
        if($(".voice").text()=="上传语音") {
            $(".voice").text("取消语音");
            window.contact.isVisShow();  //调用安卓方法,告诉安卓录音开始,安卓显示录音按钮
        }else if($(".voice").text()=="取消语音"){
            $(".voice").text("上传语音");
            window.contact.isVisHide();  //调用安卓方法,告诉安卓录音结束,安卓取消录音按钮
        }
    }
    //点击关闭图标音频
    $('.yuyinClose').click(function() {
    $("#audiovis").attr("src","");
    $(".exchVoiceClose").hide();
    });

    (3)HTML (录音完成后的语音条)

    <div class="exchVoiceClose">
      <i class="iconfont i-shengyin">&#xe607;</i>    //声音图标
       <span></span>
       <audio id="audiovis" src=""></audio>   //音频标签
       <em class="iconfont icon-guanbi yuyinClose"></em>  //语音条关闭按钮
    </div>

    (4)JS (写一个方法供安卓调用,传语音路径)

    //安卓调的语音方法
    function dell() {
        //从安卓获取语音路径
        var voices="http://219.140.191.226:8080/agriculture/uploads/"+window.contact.Vis();
        // var voices="http://192.168.199.108:8080/agriculture/uploads/"+window.contact.Vis();
    
        //获取页面语音添路径(用DOM元素获取)
        var audio2 = document.getElementById("audiovis");
        audio2.src=voices;
    
        //点击语音条时告诉安卓语音播放
        $('.exchVoiceClose').click(function() {
            window.contact.jsGeiAndroidChuanzhi(voices);
        });
        //语音条显示
        if(voices!=null) {
            $(".exchVoiceClose").show();
        }
    }

    (5)详情页语音条的显示

    动态创建语音条标签

    //语音
    if (datas[i].voice != null && datas[i].voice != "") {
        str += "<div onclick=playvoice('" + datas[i].voice + "')>" +
                 "<div class='exchVoice'>" +
                   "<i class='iconfont i-shengyin'>&#xe607;</i><span class='second'></span>" +
               "<audio src='"+urllogo+datas[i].voice+"'></audio>" + //urllogo 是服务器地址
             "</div>" +
           "</div>"; }

    点击播放语音,给安卓传值

    //播放语音
    function playvoice(url){
      window.contact.jsGeiAndroidChuanzhi(urllogo+url);
    }

    2、与安卓视频的交互

    1、HTML

    //存放video标签的位置
    <
    div class="videoPlay"></div>

    2、JS 动态创建video标签(window.open("http://www.baidu.com")  打开一个新窗口)

    if(data[0].url != "") {
        $('.videoPlay').html("");
        var urls = data[0].url.replace("http://","");
        urls = "http://" + urls;   //视频链接形成外链
        var videos = "<video class='videoPlaycount' controls='controls' src='"+urls+"'></video>";
        $('.videoPlay').html(videos);
    }
    //点击返回键video标签移除,并且安卓调用此方法
    function goivideo() {
        if($('.govideo>video').length>0) {
            $('.govideo').children('video').remove();
        }
    }
    //返回键处调用

    3、与安卓上传图片的交互

    (1)HTMl 点击上传图片按钮,和图片存放位置

    <!-- 从服务器拿到字符串图片-->
    <input type="hidden" name="imgurl" id="imgurl" value=""/>
    <div class="addPicture clearfix">
        <div class="addPictureImg" id="imgboxid"></div> //图片位置
        <div class="addPictureDiv"> 
             <label class="pictureDivCon">  //按钮
               <input type='file' id="imgInp" name="file" class="file" multiple="multiple"  /> <!-- onchange="xmTanUploadImg(this)"-->
               <i class="iconfont icon-tianjiatupian"></i>
               <p>添加图片</p>
             </label>
        </div>
    </div>

    (2)掉安卓方法,从服务器拿取图片

    //从服务器拿值
    var k=0;//用于记数 (第几张照片)
    function  H5getPicNameFromAndroid() {
        k++;
        window.contact.jsGeiAndroidToken("picA");  //调安卓方法,传一下固定值进行判断
        var imgurl = window.contact.getPicName();  //从安卓拿到路径
        var imgurlstr=imgurl.split(",");  //将获取到的图片分隔
        var str="";
        str=$("#imgurl").val();  //给各个提交页面的input存储img
        if(str==""){ //如果是第一张图片
            $("#imgurl").val(imgurlstr[0]);
        }else{
            $("#imgurl").val(str+","+imgurlstr[0]);
        }
        var imgstr="<div class='img-div'><img style='2.25rem;height:2.25rem'  src='@src'/><i onclick=clicks(this,"+k+") class='iconfont icon-guanbi addPictureClose'></i></div>";
        imgstr=imgstr.replace('@src', urllogo+imgurlstr[0]);
        var oimgbox=document.getElementById("imgboxid");
        oimgbox.appendChild(ndiv);
    }

    (3)点击删除按钮,删除服务器中的图片

    //图片删除按钮
    function clicks(me,index){
        var str=$("#imgurl").val();
        var img=str.split(",");
        img.splice((index-1),1);
        img.toString();
        $("#imgurl").val(img);
        $(me).parent().remove();
    }

    (4)页面中获取图片

    var imgurl=$("input[name=imgurl]").val();
  • 相关阅读:
    easyui datetimebox 日期控件绑定双击日期选择时间
    js 中call和apply的应用
    js中数组的合并和对象的合并
    flex也可以让背景透明
    收集了一些as的面试题,给HR准备的
    [转]PureMVC的十个小提示
    12个Flex常用功能代码
    43个热门Flex和ActionScript 3.0 APIs,技巧和工具[转]
    转载+原创PureMVC 实例讲解
    PureMVC使用时的注意事项
  • 原文地址:https://www.cnblogs.com/dxt510/p/7826480.html
Copyright © 2011-2022 走看看