遇到同样的问题,目前已解决,分两部分详述: 一、分析问题 我的场景是用户录制语音完成后,自动播放一遍,用户可以点“重听”按钮再次播放。 [图片] 我使用 InnerAudioContext 来实现播放语音的需求,录制语音完成后的自动播放是将 InnerAudioContext.src 赋值为录制完成后得到的 tempFilePath,并设置自动播放(InnerAudioContext.autoplay = true),可以正常播放,且 onTimeUpdate 回调正常。 第一遍播放完毕后,点击“重听”按钮时,我使用 InnerAudioContext.play(),倒是可以正常播放,但 onTimeUpdate 100%不会被触发(我需要用 onTimeUpdate 来更新进度条)。 发现这个问题下很多人已经指出,只要触发了 innerAudioContext.onWaiting,innerAudioContext.onTimeUpdate 就会失效,我实测了一下,果然如此:运行 InnerAudioContext.play() 后,就会触发 onWaiting,因为需要重新载入音频文件,所以一定会触发等待载入(实测即使只有 1 秒钟的音频,用 .play() 播放时也会先触发 onWaiting)。 而只要触发了 onWaiting 之后,onTimeUpdate 就失效了。但在这之后如果暂停一次再继续播放,onTimeUpdate 就能恢复正常。(微信团队真是懒政至极,这种 Bug 存在三年了,既不修复也不回复,真的好意思每个月继续领工资吗?😠) 二、解决问题 有人给的方案是用 setTimeout,原理就是运行 .play() 之后,等待一段时间让音频载入,然后运行一次暂停,然后再继续播放,就可使得 onTimeUpdate 正常运行。 但延时这个方案太丑陋了,长了影响体验,短了音频没载入完依然无效,永远不可能设置一个完美的延时长度。 对我这个场景而言(不需要拖动进度条),更理想的方式是点“重听”时,重新给 InnerAudioContext.src 赋值,并设置 InnerAudioContext.autoplay = true,它会等待音频载入完之后自动开始播放,不触发 innerAudioContext.onWaiting,所以 onTimeUpdate 也就能正常运行。 而如果你的场景需要支持用户手动调整进度(需要调用 innerAudioContext.seek),也别用延时的方案,在 innerAudioContext.onCanplay 里(代表这时已经载入完音频了),调用一次 .pause(),再调用一次 .play() 即可。
InnerAudioContext.onTimeUpdate再次调用不触发- 当前 Bug 的表现(可附上截图) InnerAudioContext播放完以后再次播放,onTimeUpdate生命周期不会再次触发,但是onPlay,onEnd都能正常触发 - 预期表现 每次audio组件重新播放都能触发onTimeUpdate - 复现路径 - 提供一个最简复现 Demo InnerAudioContext.onTimeUpdate再次调用不触发
2022-03-26这是由于webkit内核浏览器在移动端的Text Autosizer特性引起的,给相应元素设置 -webkit-text-size-adjust: none,禁用掉这个特性即可。
iOS 下table字体莫名变大,求解页面中引入了一个表格,开发工具模拟和Android中显示正常。但在iOS下,表格中某些列的字体会莫名变大。如下图 [图片] 注:每个td的样式都是相同的。但哪一列字体变大,目前未发现规律(同一表格的某些字体变大,可以重现)。 [代码]<[代码][代码]scroll-view[代码] [代码]scroll-x[代码][代码]=[代码][代码]""[代码] [代码]class[代码][代码]=[代码][代码]"scroll-area"[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"table"[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"tr"[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>姓名</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>作业完成时间</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>自主学习汇报</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>深蹲</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>俯卧撑</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>仰卧起坐</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>平板支撑</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"th"[代码][代码]>其他</[代码][代码]view[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"tr"[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>某某</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]21:45[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]英语《名校课堂》M6M7错题复习[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]50个[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]2分钟78个[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]40秒一组(两组)[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]></[代码][代码]view[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"tr"[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>小张</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]21:45[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]英语《名校课堂》M6M7错题复习[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]50个[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]2分钟78个[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]>[代码] [代码]<[代码][代码]text[代码][代码]>[代码] [代码]40秒一组(两组)[代码] [代码]</[代码][代码]text[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"td"[代码][代码]></[代码][代码]view[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]</[代码][代码]scroll-view[代码][代码]>[代码]样式表如下: [代码].scroll-area{[代码][代码] [代码][代码]width[代码][代码]: [代码][代码]100%[代码][代码];[代码][代码] [代码][代码]overflow[代码][代码]: [代码][代码]auto[代码][代码];[代码][代码]}[代码] [代码].table {[代码][代码] [代码][代码]display[代码][代码]: table;[代码][代码] [代码][代码]min-width[代码][代码]: [代码][代码]98%[代码][代码];[代码][代码] [代码][代码]border-collapse[代码][代码]: [代码][代码]collapse[代码][代码];[代码][代码] [代码][代码]margin[代码][代码]: [代码][代码]auto[代码][代码];[代码][代码] [代码][代码]white-space[代码][代码]: [代码][代码]nowrap[代码][代码];[代码][代码] [代码][代码]font-size[代码][代码]: [代码][代码]16px[代码][代码];[代码][代码]}[代码] [代码].table .[代码][代码]caption[代码] [代码]{[代码][代码] [代码][代码]display[代码][代码]: [代码][代码]table-caption[代码][代码];[代码][代码] [代码][代码]font-size[代码][代码]: [代码][代码]20px[代码][代码];[代码][代码] [代码][代码]text-align[代码][代码]: [代码][代码]center[代码][代码];[代码][代码] [代码][代码]padding[代码][代码]: [代码][代码]15px[代码][代码];[代码][代码]}[代码] [代码].table .tr {[代码][代码] [代码][代码]display[代码][代码]: [代码][代码]table-row[代码][代码];[代码][代码] [代码][代码]width[代码][代码]: [代码][代码]auto[代码][代码];[代码][代码] [代码][代码]height[代码][代码]: [代码][代码]auto[代码][代码];[代码][代码] [代码][代码]line-height[代码][代码]: [代码][代码]60[代码][代码]rpx;[代码][代码]}[代码] [代码].table .th {[代码][代码] [代码][代码]display[代码][代码]: [代码][代码]table-cell[代码][代码];[代码][代码] [代码][代码]font-weight[代码][代码]: [代码][代码]bold[代码][代码];[代码][代码] [代码][代码]border[代码][代码]: [代码][代码]1px[代码] [代码]solid[代码] [代码]black[代码][代码];[代码][代码] [代码][代码]text-align[代码][代码]: [代码][代码]center[代码][代码];[代码][代码] [代码][代码]padding[代码][代码]: [代码][代码]5px[代码][代码];[代码][代码] [代码][代码]vertical-align[代码][代码]: [代码][代码]middle[代码][代码];[代码][代码] [代码][代码]background-color[代码][代码]: [代码][代码]#ccc[代码][代码];[代码][代码]}[代码] [代码].table .td {[代码][代码] [代码][代码]display[代码][代码]: [代码][代码]table-cell[代码][代码];[代码][代码] [代码][代码]border[代码][代码]: [代码][代码]1px[代码] [代码]solid[代码] [代码]black[代码][代码];[代码][代码] [代码][代码]text-align[代码][代码]: [代码][代码]left[代码][代码];[代码][代码] [代码][代码]padding[代码][代码]: [代码][代码]4px[代码][代码];[代码][代码] [代码][代码]vertical-align[代码][代码]: [代码][代码]middle[代码][代码];[代码][代码]}[代码] [代码].td text{[代码][代码] [代码][代码]font-size[代码][代码]: [代码][代码]16px[代码][代码];[代码][代码]}[代码]
2022-01-12天哪,这是一年半以前提出的问题了,意料之中的果然还是没有解决,不知道留这个交流渠道有什么用,官方从来不肯认真关注大家提出的问题。
security.mediaCheckAsync这个接口是失效了吗?根本检测不了security.mediaCheckAsync是失效了吗,根本检测不了,传黄图和敏感语音也是返回正常没有风险,更骚的是随便写个字符串当作url,返回的status_code竟然是0!表明可以正常下载,求救
2021-01-01我也遇到同样的问题,任何音频都可以通过,无法监测到违规音频(接口和珊瑚安全官方小程序都无法检测到明显违规的音频)
security.mediaCheckAsync 接口有问题?检测图片,无论什么都可以通过同样的图片,在security.imgSecCheck,不能通过; 在security.mediaCheckAsync,都可以通过。 [图片]
2021-01-01很可能是链接的网页问题,可以检查一下https证书。
同一个外链,我在PC端微信中可以很快就打开,手机端微信打开很慢经常白屏?同一个外链,我在PC端微信中可以很快就打开,手机端微信打开很慢或者直接白屏,特别是IOS系统,有时候快有时候慢,十分不稳定,是链接的问题还是微信自身的问题呢?该怎么处理呢?
2020-12-07如果模拟器上可以播放,但真机不能播放,还有一种可能性:排查一下真机上播放的音频,是不是在模拟器上录的,如果是的话,目前模拟器录制的音频确实不支持在真机上播放。
使用 InnerAudioContext 无法在真机上播放声音,为什么?API:innerAudioContext 微信版本号:7.0.8 基础库版本号:2.8.1 代码片段:a07de76a27e3e7836c4ea39d72f75eda 使用云开发,获取fileId进行播放
2020-12-07遇到同样的问题,调用FileSystemManager.unlink清除临时文件,在模拟器和安卓上可以成功清除临时文件,但iOS上会提示权限不足 permission denied。 虽然官方声称临时文件不需要开发者手动管理,但在某些场景下,临时文件会迅速累积很多,导致用户无法继续使用,此时微信并没有自动回收这些临时文件。
wx.getFileSystemManager().unlink()ios无法删除临时文件 安卓可以//删除临时文件 wx.getFileSystemManager().unlink({ filePath: res.tempFilePath, success:res=>{ console.log(res); }, fail: res => { console.log(res); } }); [图片]
2020-02-27遇到同样问题,请问楼主后来解决了吗?
云数据库中的Date属性字段,在wxs中如何格式化为日期字符?在云数据库中的Date属性字段(db.serverDate创建的),读取到客户端显示的时候,用了wxs处理,但是把日期对象传递给wxs中的函数时,无法直接使用,提示getFullYear等方法不存在,用getDate(datefield)方法也提示非法格式。 请问在WXS中,如何正确格式化云数据库的日期对象?
2020-02-232019年12月了,这么迫切的需求,还没有解决...
微信web开发者工具的AppData什么时候可以查看自定义组件的data微信web开发者工具的AppData什么时候可以查看自定义组件的data,查看不到调试相当不方便
2019-12-07一年半过去了,还是没有这个功能...
请求添加音频播放速度调整功能- 音频组件调整播放速度 - 可调整音频播放的速度
2019-12-06