调用微信sdk接口的录音功能

一定要引入jweixin-1.0.0.js

先来一段html代码:

录音

看看js是如何操作的

// 手指按下录音
      $('.btn').on('touchstart', function(event){
    event.preventDefault();//阻止浏览器默认行为
    START = new Date().getTime();
    $('.timggif').css({display:'block'})
    recordTimer = setTimeout(function(){
        wx.startRecord({
            success: function(){
                localStorage.rainAllowRecord = 'true';
            },
            cancel: function () {
                alert('用户拒绝授权录音');
            }
        });
    },300);
});
//松手结束录音
$('.btn').on('touchend', function(event){
    event.preventDefault();//阻止浏览器默认行为
    END = new Date().getTime();
    $('.timggif').css({display:'none'})
    if((END - START) < 300){
        END = 0;
        START = 0;
        //小于300ms,不录音
        clearTimeout(recordTimer);
    }else{
        wx.stopRecord({
          success: function (res) {
            voice.localId = res.localId;
            uploadVoice();
          },
          fail: function (res) {
            alert(JSON.stringify(res));
          }
        });
    }
});
//上传录音
function uploadVoice(){
    //调用微信的上传录音接口把本地录音先上传到微信的服务器
    //不过,微信只保留3天,而我们需要长期保存,我们需要把资源从微信服务器下载到自己的服务器
    wx.uploadVoice({
        localId: voice.localId, // 需要上传的音频的本地ID,由stopRecord接口获得
        success: function (res) {
            //把录音在微信服务器上的id(res.serverId)发送到自己的服务器供下载。\
//JSON.stringify(res)
//alert("111");
            $.ajax({
async: false,
type: 'post',
                url: '你的服务器下载音频路径',
                data: { serverId:res.serverId,errMsg:res.errMsg},
                dataType: "text",
                success: function (data) {
alert('上传语音成功');
                   // alert('文件已经保存到服务器');//存储到服务器
                },
                error: function (xhr, errorType, error) {
                    alert('error');
                }
            });
        }
    });
}


//注册微信播放录音结束事件【一定要放在wx.ready函数内】
wx.onVoicePlayEnd({
    success: function (res) {
        stopWave();
    }
});

你可能感兴趣的:(我的随记)