小程序开发问题

小程序开发


浏览:913 次

前段时间,我不想在公司里实现一个点读app的小程序版本。仅实现最基本的点读取和读取功能。其他功能尚未实现。为什么不全部实施?(如果要全面实施,人们为什么要买你的平板电脑?事实上,全面实施的工作量太大了)。在开发过程中,我们遇到了几个非常痛苦的问题,我们不知道他们是否解决了这些问题。问题如下:

画布和刷子问题

InnerAudioContext在连续播放多个音频时自动暂停

1.帆布和雨刷器问题

点读取数据由一张图片和一串json数据组成。json存储当前图片和相应音频的可点击区域和坐标(中文和英文,以及其他测试和解释数据)。可点击区域大致如下:

1.矩形

2.椭圆

3.不规则图形

下图(网络版)是矩形和不规则的,椭圆很懒

长方形

不规则形状

如果只有矩形和椭圆是好的,它们可以在纯DOM中实现,但有更多的不规则图形,它们不能在DOM中实施,只能在画布中实现。因为web版本是通过提前点击实现的,所以我认为只需移植代码就可以了。因此,我还太年轻。网络版使用pixi库,小程序打包在canvas微信中。我原本想更改pixi库以与之兼容,但我不知道如何更改它。我想我太湿了。算了吧。让我们诚实地自己做吧。

实现了单页点击阅读。我如何翻页?查看小程序文档后,您可以使用刷卡器覆盖它吗?我到底去了哪里?为什么我没有回应?我重复了好几次。这是一样的。代码被反复确认。没有错。我浏览了文件

图像.png

这是问题之一。另一个问题是章节信息从左侧弹出。由于画布是原始组件,因此章节信息将被画布阻止。如果问题发生了,我们总是应该找到解决它的方法

默认情况下,画布是隐藏的。刷卡器显示点击阅读图像列表,并将点击事件添加到图像中。单击时,判断该区域中是否有音频文件。如果有,则显示画布、绘制区域并播放音频。如果没有人,不要处理它。如果画布被显示,并且有点击事件,您将被提示页面无法切换到点击阅读状态,因为画布是顶级对象,并且滑动器被覆盖,因此它是无用的,这是处理它的唯一方法。

2.当连续播放多个音频时,InnerAudioContext会自动暂停

我们的小程序有两个功能:一个位读取功能和一个整体读取功能。整个阅读功能是连续播放当前页面上的所有音频。一开始,我们使用微信开发者工具来开发和测试音频。音频可以正常播放。在我们将其推到体验版之后,IOS是正常的。Android手机很有可能会出现。当我们读音频时,它不会播放。后来,我们打印了一些关于音频对象的onEnded和onPause事件的日志,发现它在暂停时停止。我收听了音频的onEnded事件以播放下一个音频。下图是不自动播放的音频的屏幕截图。我故意在onPause回调中调用了一个不存在的方法,以打印堆栈信息并引发微信错误。上面的红色椭圆是当时暂停音频对应的区域。微信社区提出了这个问题。它没有任何软件,但称我为整个代码片段,我懒于编写,但它可能无法再现

图像.png

这是一个音频。暂停(e=>{

this.audio.stop()

setTimeout(()=>{

this.audio.play()

}, 200)

})

最后,只能在onPause中手动调用stop函数。200ms后,音频将再次播放。为什么不马上玩呢?在测试过程中,发现有时会进入暂停周期。看来在这种治疗下,暂时没有问题

我不知道以上两个问题是否已经解决