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

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. fifteen-puzzle

    http://www.math.ubc.ca/~cass/courses/m308-02b/projects/grant/fifteen.html http://jamie-wong.com/2011 ...

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

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

  3. apache服务器主域名跳转www域名

    为集中网站权重,有时候我们需要把www域名跳转到主域名,或者主域名跳转到www域名. apache服务器如何实现主域名跳转www域名: 打开网站根目录下.htaccess文件,没有的话新建一个上传至网 ...

  4. 关于DOM与BOM的总结

    1.什么是BOM,什么是DOM(基本概念) BOM: Browers Object MOdel           浏览器对象模型 DOM: Document Object MOdel         ...

  5. Linux 获取本机IP、MAC地址用法大全

    getifaddrs()和struct ifaddrs的使用,获取本机IP ifaddrs结构体定义如下: struct ifaddrs { struct ifaddrs *ifa_next; /* ...

  6. Dynamics CRM 2015-Ribbon In Basic Home Tab

    前文中有说到关于Form上Ribbon的配置以及控制,而Ribbon Button还可以在其它地方的配置,今天就来说说在Basic Home Tab里面的配置,效果图如下: 具体配置Customiza ...

  7. C#图片的读取和转码

    刚写完自定义头像模块,记录一下刚才的过程,直接上代码: public static string ImgByte() { //获取图片地址 string path = UnityEngine.Appl ...

  8. LOJ6277~6285 数列分块入门

    Portals 分块需注意的问题 数组大小应为,因为最后一个块可能会超出的范围. 当操作的区间在一个块内时,要特判成暴力修改. 要清楚什么时候应该+tag[t] 数列分块入门 1 给出一个长为的数列, ...

  9. 关于 Java 面试,你应该准备这些知识点

    来源:占小狼, www.jianshu.com/p/1b2f63a45476 马老师说过,员工的离职原因很多,只有两点最真实: 钱,没给到位 心,受委屈了 当然,我是想换个平台,换个方向,想清楚为什么 ...

  10. 最简化搭建yum仓库

    在使用rpm安装软件包时,时常会遇到一些软件依赖性问题,如果是简单的一两个依赖性还是可以手动解决.要是出现大量的依赖性问题的话会让增大工作量.yum是一个很好的前端程序,可解决软件包相关依赖性,可在多 ...