- 小程序录音问题!能不能在录音期间不要时时去访问网络?这个设计看起来好,其实恶心,一旦网络不好,就完蛋
经过长时间测试,终于发现录音总是被掐掉,是因为网络不好造成的。在录音的时候,小程序没完没了的访问网络,一旦网络有一点问题就立刻被掐掉。这个设计非常非常的恶心。能不能用微信的那个录音功能,就是本地录好再上传。
2020-10-24 - 小程序录音如果网络不好,会自动掐断录音,录音了一分钟多,却只录了四十五秒,怎么解决?
录音部分代码: recorderManager.start(options); recorderManager.onStart(() => { console.log('。。。开始录音。。。') }); //错误回调 recorderManager.onError((res) => { console.log(res); }) 停止录音,保存文件部分: // recorderManager.stop(); //先停止录音 console.log("-2"); recorderManager.stop(); recorderManager.onStop((res) => { console.log("-3"); if (res.duration < 1000) { api.showToast('录音时间太短'); return; } else { console.log(res); var tempFilePath = res.tempFilePath; // 文件临时路径 在测试的时候,每次都录音1分钟以上,但是当我拿到录音时,发现有时候是30秒,有时候是45秒,有时是1分钟。我后来到了网络环境很好的地方测试,发现录音正常了,这说明录音整个功能要时时访问网络,一旦网路不顺畅就会自动掐断录音却不报错。
2020-10-24 - 获取时长问题,我做了一个数组,里面有六个音频,但获取时长时6个循环得到的都是最后一个音频的时长咋办?
我作了一个数组,每组都有一个音频文件,但是用循环获取时长的时候,每次循环获得的时长都是最后一个音频文件的时长。下面是代码,请问,问题在什么地方。谢谢。 [图片] 数组其中一组数据 audioArr: [ { "id": 1, "src": "https://img.tukuppt.com/newpreview_music/08/99/74/5c8993ac3aec176091.mp3", "play": false, isPlayAudio: false, audioSeek: 0, audioDuration: 0, showTime1: '00:00', showTime2: '00:00', audioTime: 0, value:'', isShow:true, chapterIndex: 0, "time": '提问录音' }, 。。。。。。。。。。 设置时长代码片段 for (let index = 0; index < t.data.audioArr.length; index++) { if (t.data.audioArr[index].src.length != 0) { innerAudioContext.src = t.data.audioArr[index].src; innerAudioContext.play(); innerAudioContext.pause(); innerAudioContext.onCanplay(() => { //初始化duration innerAudioContext.duration setTimeout(function () { //延时获取音频真正的duration var duration = innerAudioContext.duration; console.log(duration) var min = parseInt(duration / 60); var sec = parseInt(duration % 60); if (min.toString().length == 1) { min = `0${min}`; } if (sec.toString().length == 1) { sec = `0${sec}`; } var showTime2x=`audioArr[${index}].showTime2` console.log(showTime2x) t.setData({ audioDuration: innerAudioContext.duration, [showTime2x]: `${min}:${sec}` }); }, 1000) }) } } wxml <block wx:for="{{audioArr}}" wx:key="audioSonKey" wx:for-item="r" wx:for-index="v"> <view class="comer-mask"></view> <view class="voice-wrap" > <view class="player" style="width:{{80}}%;"> <view class="player-icon"> <view class="player-img" bindtap="playAudio1" data-id="{{v}}"> <image src="{{r.play == true ? '../../img/player_icon.png' : '../../img/suspend_icon.png'}}" /> </view> <view class='time'> {{r.showTime1}}/{{r.showTime2}} </view> </view> </view> <view class='slider'> <slider bindchange='sliderChange' activeColor='red' block-size="12" value='{{r.audioTime}}' /> </view> </view> </block>
2020-09-14 - 文件下载后如何让其他软件打开,或者打开文档是选择小程序之外的软件打开?
目前我需要看网上的文档,目前使用wx.downloadFile和wxopenDocument可以打开文件观看了。 但是,在小程序里看远没在其他工具里看方便,有没有办法可以下载后被其他软件打开,或者直接选择打开方式使用其他软件。谢谢!
2020-09-09 - wx.saveFileToDisk怎么使用?
我我的开发工具版本是2.11.1,应该可以使用wx.saveFileToDisk, 但,试用了一下,没成功。请问有没有示例代码,或者提供地址,或者提供代码示例,谢谢!
2020-09-08 - 从word里复制到数据库里的文字,在小程序里显示时,各个段落首行不缩进怎么解决?谢谢
我把word里的文字,拷贝到数据库,然后用小程序展示里面的文字。换是可以还原的,但是每个段落的首行不缩进,看起来很别扭。 [图片]
{{loadlist[0].jiedhxnr}}/text> /view> 按照网上的一些说法,增加了 但是也只是第一段的首行缩进了,后面的段落依然首行不缩进。请问这个问题如何解决。 2020-09-03 - 为什么遮罩功能手机上就是实现不了呢?
在工具上可以实现,在手机上就会穿透,遮罩层用了input和textarea
2020-03-23 - 为什么一个插入语句在工具里成功,在ipaid里也可以,在安卓上不成功
INSERT INTO xuexwt (kechid, jiedid, tiwrq, xueyid, wentnr,tij,tijrq,gongk) VALUES (1,2,"2020/3/23",1,"123qweqweqweqe",true,"1900-01-01",false) 这条插入语句在前台生产,通过接口插入到数据库。但是在工具上可以实现,在苹果ipaid上可以实现,在安卓上就实现不了
2020-03-23 - 一个数据接口,一个页面内两次不同条件的调用,第二次会失败。如果注释掉一次,那令一个就正常。
import request from '../../services/network.js' Page({ data: { loadlist:[], loaddetai:[], loadview:[], bianm:'' }, onLoad: function (options) { console.log(options); this.data.bianm = options.bianm; console.log(this.data.bianm); const tiaojian=' bianm="'+this.data.bianm+'"' console.log(tiaojian); // 一共两次调用接口,注释掉其中一个,两个都可以正常取得数据。一旦两个一起使用就不行。请问这是为什么呢? // 第一次获取列表数据,request是定义的调用网络数据组件。 request({ // url:'/home/data?type=sell&page=1' url:'/MiniProgram/QueryKechjd', data:{CommonWhereClause: tiaojian } }).then(res=>{ console.log(loadlist) const loadlist = res.data.Kechjd; console.log(loadlist) this.setData({ loadlist:loadlist }) }) const tiaojian1='bianm like "'+this.data.bianm+'%" order by bianm'; // 第二次获取获取列表数据 request({ // url:'/home/data?type=sell&page=1' url:'/MiniProgram/QueryKechjd', data:{CommonWhereClause: tiaojian1 } }).then(res=>{ console.log(res) console.log(tiaojian1) const loaddetai = res.data.Kechjd; this.setData({ loaddetai:loaddetai }) }) } })
2020-02-27 - 如何保证函数内执行是按照代码写的顺序执行?
console.log(newsid); const tiaojian=' id='+newsid console.log(tiaojian); request({ url: '/MiniProgram/QueryArticles', data:{CommonWhereClause: tiaojian } }).then(res => { console.log(res) const list = res.data.Articles[0]; this.data.HtmlContent=list.HtmlContent; }) console.log(this.data.HtmlContent) onLoad 函数中,有四个控制台输出 console.log,但是最后一个控制台输出, console.log(this.data.HtmlContent)却执行在 console.log(res)之前。如何确保执行获取数据之后再执行最后一个控制台输出?强制程序按照代码顺序执行?谢谢!
2020-02-14