- wx.createInnerAudioContext()不播放不能获取语音时长
- 当前 Bug 的表现(可附上截图)当前在安卓客户端打开页面未播放音频时,无法获取音频时长。iOS端可以在未播放时,可以获取音频时长。 - 预期表现 希望能在安卓客户端,在一进入页面时,未播放也能获取音频时长 - 复现路径 - 提供一个最简复现 Demo 当前实现代码: [代码] let voiceTime = 0;[代码][代码] [代码][代码]myaudio.src = info.noticeVoice; // 音频地址[代码][代码] [代码][代码]myaudio.onCanplay(() => {[代码][代码] [代码][代码]myaudio.duration;[代码][代码] [代码][代码]setTimeout([代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]voiceTime = myaudio.duration;[代码][代码] [代码][代码]let m = Math.floor(voiceTime / 60 % 60),[代码][代码] [代码][代码]s = Math.floor(voiceTime % 60);[代码][代码] [代码][代码]voiceTime = m + [代码][代码]'’'[代码] [代码]+ s + [代码][代码]'”'[代码][代码]; // 时间转化[代码][代码] [代码][代码]console.log(voiceTime, myaudio.duration, [代码][代码]'---2'[代码][代码]);[代码][代码] [代码][代码]that.setData({[代码][代码] [代码][代码]audioInfo: {[代码][代码] [代码][代码]src: info.noticeVoice,[代码][代码] [代码][代码]time: voiceTime[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]wx.hideLoading();[代码][代码] [代码][代码]}, 1000)[代码][代码] [代码][代码]})[代码]最终打印的voiceTime为0,获取不到时间
2019-03-30 - TextEncoder 和 TextDecoder
这是去年的一个帖子,那时候官方人员说不支持。 以下是测试代码,目前已在「开发者工具 v1.02.1804251」和 Android 下的「微信 6.6.6」测试成功。iOS 暂无测试条件。 [代码]var[代码] [代码]enc = [代码][代码]new[代码] [代码]TextEncoder()[代码][代码]console.log(enc.encode([代码][代码]"This is a string converted to a Uint8Array"[代码][代码]))[代码][代码]var[代码] [代码]dec = [代码][代码]new[代码] [代码]TextDecoder()[代码][代码]var[代码] [代码]arr = [代码][代码]new[代码] [代码]Uint8Array([84,104,105,115,32,105,115,32,97,32,85,105,110,116,[代码][代码] [代码][代码]56,65,114,114,97,121,32,99,111,110,118,101,114,116,[代码][代码] [代码][代码]101,100,32,116,111,32,97,32,115,116,114,105,110,103])[代码][代码]console.log(dec.decode(arr))[代码] 请问,TextEncoder 和 TextDecoder 在手机上从哪个版本开始可以使用? 之所以用到这两个,是因为 wx.arrayBufferToBase64 和 wx.base64ToArrayBuffer 这两个 API。 这是 API 页面,目前从首页已删除入口,这是为什么?
2018-05-11