小程序开发问题

前段时间没事想把公司一个点读应用实现一个小程序版本,只实现最基本的点和读功能,其它功能暂时不实现,为什么不全实现?(要全实现了,人家还买你家平板干什么?其实是全实现工作量太多了),开发过程遇到几个比较蛋疼的问题,最后也不知道是解决了还是没解决,问题如下:


  1. canvas和swiper问题
  2. InnerAudioContext连续播放多个音频自动pause问题

1. canvas和swiper问题

点读数据是由一张图片和一串json数据构成的,json存放的是当前图片可点击区域和坐标和对应的音频(中、英文,还有其它测试和讲解数据),可点击区域大概有如下几种:

  1. 矩形
  2. 椭圆
  3. 不规则图形

下图(web版的)是矩形和不规则图形的,椭圆的懒的找了

矩形
不规则图形

要是只是矩形和椭圆还好,可以用纯属DOM实现,但多了个不规则图形,这个DOM实现不了,只能用canvas实现了,因为事先点读已经实现过web版了,我以为只是简单移植下代码就可以了,结果我还是太年轻了,web版用了一个pixi这个库,小程序的canvas微信封装了一下,本来想自已改下pixi的库兼容下的,结果不知道怎么没有改下去了,估计还是自己太水了吧,算了,我们还是老实自己实现吧。

实现了单页的点读,那么怎么翻页呢,看了下小程序文档,嗯,可以用swiper,套上,我翻?我去什么鬼,怎么没反应,重复几次,还是一样,代码确认再三,没有写错,翻下文档

image.png

这是其中一个问题,另外一个问题是,章节信息从左边弹出来,因为有canvas这个原生组件,章节信息会被canvas挡住,问题出现了,总要想办法解决

canvas默认隐藏,swiper显示点读图片列表,给图片添加点击事件,点击的时候判断下该区域有没有音频文件,如果有就显示canvas并绘制区域、播放音频,没有就不处理,如果canvas显示了,再有点击事件就提示点读状态下不能切换页面,因为canvas是顶级对象,swiper那些都被覆盖住了,用不了了,暂时只能这样处理了。


2. InnerAudioContext连续播放多个音频自动pause问题

我们的小程序有点读整读两个功能,整读就是把当前页的所有音频连续播放一遍,一开始用微信开发者工具开发测试,音频可以正常播放完,推到体验版后,IOS正常,android的手机,一定概率会出现,读到某个音频的时候不往下播放了,后来在audio对象的onEndedonPause事件打印了一些日志,发现是在pause这里停住了,我是监听audioonEnded事件来播放下一个音频的,下图是音频不自动往下播的截图,我故意在onPause回调里面调用了一个不存在的方法,是为了打印下堆栈信息给微信提bug,上面红色的椭圆是当时被pause音频对应的区域,微信社区提了这个问题,没什么软用,叫我整个代码片断,懒的写了,写了也不一定能复现

image.png
 this.audio.onPause(e => {
      this.audio.stop()
      setTimeout(() => {
         this.audio.play()
      }, 200)
    })

最后只能在onPause里面手动调用一下stop函数,在200ms后再次播放这个音频,为什么不是马上播放呢,测试的时候,发现有时候会进入pause循环,冒似这样处理下,暂时没有出现那些问题了


也不知道上面两个问题最后是解决了还是没解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容