iOS 音频播放要加载6-7秒,安卓没问题
使用的是阿里云oss存储的音频。格式为mp3。
点击开始播放需要加载好几秒,切换别的语音,再点之前播放过得,也要重新加载好久,就算是几秒的语音也要加载好久
以下为语音:
<!-- 语音 --> < view class = "row-module-audio" wx:if = "{{item.SpeechType == 1}}" > < view class = "audio-item detail-direction {{audioplaying == index && !audioplay ? 'audio-item-loading' : ''}}" data-src = "{{item.ModuleContent.Url}}" data-index = "{{index}}" bindtap = 'audioPlay' style = "width:{{item.ModuleContent.Seconds != 0 && item.ModuleContent.Seconds != null ? item.ModuleContent.width : ''}};" > < view class = "audio-state {{audioplaying == index && audioplay ? 'audio-item-playing' : ''}}" ></ view > < text >{{item.ModuleContent.Seconds != 0 && item.ModuleContent.Seconds != null ? item.ModuleContent.size : '00:00/00:00'}}</ text > </ view > </ view > |
以下为播放JS:
audioPlay: function (e) { var that = this var src = e.currentTarget.dataset.src var index = e.currentTarget.dataset.index var audioplaying = this .data.audioplaying var videoPlaying = this .data.videoPlaying //如果有正在播放的音频且不是当前点击的音频,暂停播放该音频。是当前点击的,则停止播放音频 if (audioplaying != null ){ if (audioplaying != index) { clearInterval(that.playTimer) that.setItemData(audioplaying) audioplaying = index audio.src = src audio.play() } else { audioplaying = null audio.stop() clearInterval(that.playTimer) that.setItemData(index) } } else { audioplaying = index audio.src = src audio.play() } //如果有正在播放额视频,暂停播放该视频 if (videoPlaying != null ){ var videoContextPrev = wx.createVideoContext( 'video_' + videoPlaying) videoContextPrev.pause() } this .setData({ audioplaying: audioplaying, audioplay: false , videoPlaying: null }) } |
求助。问题直接和体验挂钩。