这段时间刚好结束一个小程序,被坑的好惨,所以罗列出来,有用的着的,就抱走吧!

1.关于音频,项目要求能在退出小程序的情况下继续播放,所以我直接用了     wx.getBackgroundAudioManager();

但是他有个坑,我先前没有写title、epname、slnger、coverImgUrl、webUrl这几个属性安卓播放没有问题,但是一到ios里面就不播放,没有实践到底是哪个属性的原因,保险起见我把他们都写上,播放就成功了;

第二个坑是这个对象有一个duration的属性来求当前音频的长度,但是他请求回来为0;有两个方法解决,一是你的所有音频皆为https请求;二是做延迟,写一个setTimeout()函数,时间不好掌握,我写的是1s,但依旧有网络缓慢的时候不能够请求到,所以我在

onTimeUpdate这个方法里面又重新给值了一遍,当然要加判断,当duration的属性值为0的时候;

2.关于转发   onShareAppMessage();

这个关于音频的播放页转发以后,不能播放,这个如果有知道原因的可以给我评论或者留言,所以我换了一个方法就是转发页的路径是首页,然后由首页带着id跳转到音频页,这样转发还可以直接返回首页,可以说很666了。

3.最好能把wx.getSystemInfo()里面定义的变量在data里面做一个基本设置;

4.做音频的时候要求跳转到播放页播放以后,如果页面返回还需要在列表页面显示哪首歌在播放;这就涉及到子页面传变量给父页面

在播放页面:

back: function () {
  var that = this;
  let pages = getCurrentPages();
  let prevPage = pages[pages.length - 2];
  prevPage.setData({
    id: that.data.id
  });
}
在首页这样接收:
onShow: function () {
  var that = this;
  let pages = getCurrentPages();
  let currPage = pages[pages.length - 1];
  that.setData({
    id: currPage.data.id
  });
}
 
5.slider这个控件家音频播放的时候,要拉动控件,设置控件里面的这个属性bindchange;首先你可以检测播放状态,如果是暂停就调成播放,然后

//position为e.detail.value;
//value为控件值
//currentProcess为当前播放时间
that.setData({
  value: position,
  currentProcess: that.formatTime(position)
});
backgroundAudioManager.seek(position);
wx.seekBackgroundAudio({
  position: position
})
最后再将播放状态调整为原来的状态;但是这个方法有个bug是在暂停的时候拉进度,会不太灵!!!!!!如果有知道原因的可以评论,留言我。

6.在小程序做测试的时候一定要确保对方手机上的小程序也是你修改的最新版本,不然就会觉得出错了,但是找不到原因,但实际上可能他的开发版本还是你昨天的............超级尴尬到怀疑人生;

怎么样-----惊喜不惊喜!!!!

欢迎评论,如果有什么不对的地方尽管指出来,如果以后我再遇到坑,我还会来补充的;

我在微信小程序遇到的坑的更多相关文章

  1. 我的微信小程序入门踩坑之旅

    前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...

  2. 微信小程序开发填坑指南V1

    近期用了一星期的时间,开发了一个小程序.小程序名称是:小特Jarvis,取自钢铁侠的管家. 后台采用C#编写,WebAPI接口.其实开发时间并不多,小程序本身提供的API,相比公众号的API来说,已经 ...

  3. 微信小程序开发踩坑日记

    2017.12.29  踩坑记录 引用图片名称不要使用中文,尽量使用中文命名,IDE中图片显示无异样,手机上图片可能出现不显示的情况. 2018.1.5  踩坑记录 微信小程序设置元素满屏,横向直接w ...

  4. 微信小程序从入坑到放弃之坑十二:navigator无法跳转的坑

    转自:http://www.yilingsj.com/xwzj/2018-11-25/weixin-miniprogram-navigator.html 微信小程序中的页面跳转用navigator就行 ...

  5. 微信小程序开发踩坑记

    前言 微信小程序自去年公测以来,我司也申请了一个帐号开发,春节前后开始开发,现在终于告一个段落了.谨以此文记录下踩过的坑. 坑1:scroll-view与onPullDownRefresh冲突 由于有 ...

  6. 微信小程序的那些坑

    早闻微信小程序是个坑,结果名不虚传,细数一下我开发小程序遇过到坑. 1.UI组件过度封装. 微信小程序的组件是模仿react.js或vue.js的web组件设计的,并且封装了weui.css样式. P ...

  7. 微信小程序开发常见坑

    前段时间稍微涉猎了微信小程序开发,踩了一些坑,在此总结出来,希望能为小伙伴们提供一点帮助. 页面跳转 对于页面跳转,可能习惯性想到wx.navigateTo,但是在跳转到目标页面是一个tab时,此接口 ...

  8. 微信小程序t填坑之旅一(接入)

    一.小程序简介 小程序是什么? 首先"程序"这两个字我们不陌生.看看你手机上的各个软件,那就是程序.平时的程序是直接跑在我们原生的操作系统上面的.小程序是间接跑在原生系统上的.因为 ...

  9. 微信小程序常见的坑

    wxml的标签跟html里面的一些标签是一样的,比如view标签相当于div标签,text标签相当于span标签. 在微信小程序中,表单元素都是原生组件,微信小程序中原生组件层级最高,所以在用inpu ...

随机推荐

  1. b继承a

    有下面这样的一段代码: function a(){ this.foo = function(){ console.log('foo'); } } var b = {}; 请问如何让b继承a? b.__ ...

  2. sublime插件AndyJS2安装教程

    1.下载AndyJS2包,已整理上传,下载AndyJS2.rar,附上网址.(https://github.com/jiaoxueyan/AndyJS2) 2.点击首选项(preference)=&g ...

  3. 较复杂makefile跟lds脚本程序的编写

    首先看个makefile范例: /*指明工具链,并为其取个简单的别名*/ CC = arm-linux-gcc LD = arm-linux-ld AR = arm-linux-ar OBJCOPY ...

  4. 记录一次CentOS环境升级Python2.6到Python2.7并安装最新版pip

    背景介绍 一次实验中需要安装python-etcd包.安装这个包时要求的python和pip版本比目前系统的版本高. 系统是centos6.6    64位 1 2 3 4 5 6 7 [root@m ...

  5. mac中配置jdk环境

  6. Linux常用命令(精选)

    chmod -R 777 文件夹名       // -R表示递归给文件及文件夹内文件更改权限,r(4),w(2),x(1),chmod -a+rwx / chmod -u+w -g+r -o +x ...

  7. UVA 10534最长上升子序列运用

    在给定序列中寻找一个1~n+1递增,n~2n+1递减的序列,我的想法是直接对原序列和原序列的反序列用nlgn算法求递增序列,例如序列a[]={1,2,4,1,2,6},它的反序列为b[]={6,2,1 ...

  8. nginx笔记3-负载均衡算法

    1.nginx测试:先从官网下载nginx 官网网址为:http://nginx.org/  然后找到stable version的版本下载,因为这版本是最稳定的,不要去下载最新,因为不稳定,如下图: ...

  9. Eclipse远程调试hadoop源码

    1. 修改对应调试端口 之前的一篇blog里讲述了hadoop单机版调试的方法,那种调试只限于单机运行hadoop命令而已,对于运行整个hadoop环境而言是不可取的,因为hadoop会开启多个jav ...

  10. 【Unity3D】Unity3D 让角色的头部望向鼠标

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/MouseAim.html 原理很简单,因为骨骼也是一个物体,也拥有transform那一套东西,所以可以简单地用L ...