美文网首页
小程序背景音乐播放android手机不触发onPlay

小程序背景音乐播放android手机不触发onPlay

作者: 深情的白杨 | 来源:发表于2019-03-25 18:03 被阅读0次

项目上有这样一个需求,小学课文点击区域播放相应的句子,但是每个区域给定的音乐地址都是重复的,规定好开始时间和结束时间,播放一整段音乐的一部分

我的思路

把数据绑定给点读区域,用户点到这个区域的时候获取对应的音乐地址,开始时间和结束时间,具体代码如下

 <view 
    bindtap="handleReader"
    data-mp3Url="{{ itemContent.mp3_url }}"
    data-audio_start="{{ itemContent.audio_start }}"
    data-audio_end="{{ itemContent.audio_end }}"
    data-track_id="{{itemContent.track_id}}"
    data-track_translate="{{itemContent.genre}}">
</view>
this.backgroundAudioManager = wx.getBackgroundAudioManager();
this.backgroundAudioManager.title = '点读机1.0';
this.backgroundAudioManager.src = encodeURI(mp3Url);
this.backgroundAudioManager.startTime = audio_start;

大致的思路就是这样的,逻辑相对简单,iOS手机是没有问题的,都能播放,但是唯独到了android手机上就不行了。官方文档说的也很简洁明了

string src
音频的数据源(2.2.3 开始支持云文件ID)。默认为空字符串,当设置了新的 src 时,会自动开始播放,目前支持的格式有 m4a, aac, mp3, wav。

但是实际上相同的地址,android手机有可能没办法主动触发play事件,我最后的处理方案是给地址加上时间戳,让地址唯一

let mp3Url = e.target.dataset.mp3url+'?id='+(new Date()).getTime();

相关文章

网友评论

      本文标题:小程序背景音乐播放android手机不触发onPlay

      本文链接:https://www.haomeiwen.com/subject/yxvbvqtx.html