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

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. ChineseUtils

    这里获得汉字的拼音使用了pinyin4j这个插件,因为多音字的原因效果并不理想 /** * 获得汉字拼音 * @param name * @return */ @SuppressWarnings(&q ...

  2. 时间序列数据库rrd启动

    然后执行启动定时任务目录:etc/crontab SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/ # For de ...

  3. JSP基础使用

    一.JSP简介 JSP(Java Sever Pages):是为了能让 Java 在 Web 页面运行的一种语言. 在JSP中包括两种主要内容: 1. HTML.JS语言(静态内容).由客户端浏览器负 ...

  4. PHP中cookies跨目录无法调用解决办法

    localhost/a/test.php 中写入: <?php setcookie("user","zhangsan",time()+3600); ?&g ...

  5. 阿里云CentOS使用iptables禁止某IP访问

    在CentOS下封停IP,有封杀网段和封杀单个IP两种形式.一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的.于是下面就详细说明一下封杀单个IP的命令,和解封单个IP ...

  6. CentOS 7 NetworkManager Keeps Overwriting /etc/resolv.conf

    In CentOS or Red Hat Enterprise Linux (RHEL) 7, you can find your /etc/resolv.conf file, which holds ...

  7. 大型互联网公司Java开发岗位面试题归类!

    ​一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类咯.. ...

  8. CENTOS6.6上搭建单实例ORACLE12C

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 自己在centos6.6上搭建的单实例oracle12c 由 ...

  9. Nexus3将本地jar包添加到仓库

    新建一个文件夹,将要上传的jar包放进去,然后创建一个pom文件,例如xx.jar,pom.xml 首先创建一个目录 方便执行上传的时候url参数 也可以不创建, 上传XML curl -v -u a ...

  10. 动态规划算法的java实现

    一:动态规划 1)动态规划的向前处理法 java中没有指针,所以邻接表的存储需要转化一中形式,用数组存储邻接表 用三个数组u,v,w存储边,u数组代表起点,v数组代表终点,w代表权值;例如:1--&g ...