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

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. Halcon一日一练:图像分辨率与像素

    1.图像像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子.像素是构成图像的基本单元 ...

  2. css页面布局之左侧定宽,右侧自适应

    二列布局的特征是侧栏固定宽度,主栏自适应宽度.三列布局的特征是两侧两列固定宽度,中间列自适应宽度. 之所以将二列布局和三列布局写在一起,是因为二列布局可以看做去掉一个侧栏的三列布局,其布局的思想有异曲 ...

  3. 洛谷P1879 [USACO06NOV]玉米田Corn Fields【状压DP】题解+AC代码

    题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...

  4. Java经典编程题50道之二十二

    利用递归方法求5!. public class Example22 {    public static void main(String[] args) {        int n = 5;   ...

  5. Shiro 核心功能案例讲解 基于SpringBoot 有源码

    Shiro 核心功能案例讲解 基于SpringBoot 有源码 从实战中学习Shiro的用法.本章使用SpringBoot快速搭建项目.整合SiteMesh框架布局页面.整合Shiro框架实现用身份认 ...

  6. bzoj 1307/1318 玩具 线段树+记录时间戳

    玩具 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 743  Solved: 404[Submit][Status][Discuss] Descrip ...

  7. Nginx前端设置反向代理,后端Apache如何获取访客的真实IP,结合PHP

    nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递 ...

  8. python+flask:实现POST接口功能

    1.首先需要安装python和flask,这个是必须的嘛. 2.我们这里实现的是一个POST功能的简单接口. from flask import Flask, request, jsonify imp ...

  9. hihoCoder 1033 : 交错和 数位dp

    思路:数位dp,dp(i, j, k)表示考虑i位数,每位数可以任意取[0~9],并且这i位数的交错和为j,k=1表示前缀全是0(如000456),k=0表示前缀不为0.注意,前缀是否为0是这道题的一 ...

  10. 历届试题 大臣的旅费 树形DP

    题目链接:大臣的旅费 思路:锦囊说用广搜,可惜这题没说数据范围,担心复杂度太高,我就直接用的树形DP--求树的最远路径. 以城市1为整棵树的根结点,d(i)表示以i为根结点的子树的最远路径,还有一个f ...