顺序播放
1.使用定时器进行设置传递地址时候,下一个等待音频的播放时间以后在传递地址,这个地方看似没有问题,实际上还是有很大问题的,因为在传递的时候如果数据量大,你就会发现会出现同步播放的情况,因为那个定时和你的音频时间会有误差,数据越大,越明显,还有就是会数组地址更新,这又是问题,更新以后传递过去定时器重新给其定时,这个又给串了,笔者兄大就遇到这个情况了,跳了半天。
2.就是下面的方法,我本身是过几秒中我的数组会更新地址,这样会导致程序整体运行一次,可以在音频播放完才运行函数设置一个状态,开始状态设置一个true,将数组传递过去,然后关闭通道,改变状态进行设置flase的情况,然后再可以在音频播放完才运行函数里设置,但播放完到这个数组最后一个音频以后,改变为true,羡正竖这个时候再接收新的更新后的数组,这样不会出现同步播清稿发的情况。
同步播放
其实就是直接将其地址传递到InnerAudioContext.src,不管播放时间,直接for循环就可以了。
//第一层循环<view wx:for="{{arr}}" wx:key="index">
<view>{{item.name}}</view>
//第二层循环,修改item、index名称
<view wx:for="{{item.process}}" wx:for-item="itema" wx:for-index="indexa" wx:key="indexa">
// 判断是哪种结构
<block wx:if="{{itema.goods_name}}">
<view>{{itema.goods_name}}</view>
岩隐 </block>
<粗禅厅block wx:else>
袭纤 <view>{{itema.type}}</view>
//第三层判断是否是数组
<block wx:if="{{itema.state && itema.state[0] && itema.state[0].time}}">
<view wx:for="{{itema.state}}" wx:for-item="itemb" wx:for-index="indexb" wx:key="indexb">{{itemb.time}}</view>
</blcok>
<blcok wx:else>
<view>{{itema.state}}</view>
</blcok>
</block>
</view>
</view>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)