美文网首页壁纸小家让前端飞程序员
小程序:摇一摇程序小例子

小程序:摇一摇程序小例子

作者: 玩点小技术 | 来源:发表于2018-02-24 19:38 被阅读354次
项目代码

各位新年好,祝大家在新的一年的里,心想事成2018发大财。
今天公司新年第二天上班,继续写去年没完成的任务,领导的要求是这样的。打开小程序的首页然后走到一定的范围内,开始摇一摇搜索附近蓝牙设备等或者其它的操作。

<audio  src="{{srcaud}}" id="myAudio" ></audio>
//用于音频播放

{{srcaud}}可以不理,可以在data里直接定义好

function shakeFun(){ // 摇一摇方法封装
  var numX = 1 //x轴
  var numY = 1 // y轴
  var numZ = 0 // z轴
  var stsw = true // 开关,保证在一定的时间内只能是一次,摇成功
  var positivenum = 0 //正数 摇一摇总数
  var audioCtx = wx.createAudioContext('myAudio') //音频,用于摇成功提示
  wx.onAccelerometerChange(function (res) {  //小程序api 加速度计
    if (numX < res.x && numY < res.y) {  //个人看法,一次正数算摇一次,还有更复杂的
      positivenum++
      setTimeout(() => { positivenum = 0 },2000) //计时两秒内没有摇到指定次数,重新计算
    }
    if (numZ < res.z && numY < res.y) { //可以上下摇,上面的是左右摇
      positivenum++
      setTimeout(() => { positivenum = 0 }, 2000) //计时两秒内没有摇到指定次数,重新计算
    }
    if (positivenum == 2 && stsw){ //是否摇了指定的次数,执行成功后的操作
      stsw = false
      audioCtx.setSrc('http://pic.ibaotu.com/00/43/58/92J888piCmbi.mp3') //音频文件,第三方的可自行选择
      audioCtx.play() //播发音频
      console.log('摇一摇成功')
      setTimeout(() => { 
        positivenum = 0 // 摇一摇总数,重新0开始,计算
        stsw = true
      },2000)
    }
  })
}

如果你有还有别的方法想法的或者本例子有问题的可联系我噢,多多学习~

相关文章

网友评论

    本文标题:小程序:摇一摇程序小例子

    本文链接:https://www.haomeiwen.com/subject/wpjcxftx.html