wxParse是目前微信小程序富文本解析最好的工具了,但它在音频解析方面还有点小小的缺陷,这篇文章就是针对wxParse音频解析部分做了一点改造,使得小程序能够比较完美地播放音频了。
首先,在wxParse.wxml文件中的
<template name="wxParseVideo">
<!--增加video标签支持,并循环添加-->
<view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
<video class="{{item.classStr}} wxParse-{{item.tag}}-video" src="{{item.attr.src}}" poster="{{item.attr.poster}}" autoplay="{{item.attr.autoplay}}"></video>
</view>
</template>
下面添加audio标签支持:
<template name="wxParseAudio">
<!--增加audio标签支持,并循环添加-->
<view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
<audio poster="{{item.attr.poster}}" name="{{item.attr.name}}" author="{{item.attr.author}}" src="{{item.attr.src}}" id="myAudio" controls="controls" loop></audio>
</view>
</template>
接着再在代码中所有循环模版里的
<!--video类型-->
<block wx:elif="{{item.tag == 'video'}}">
<template is="wxParseVideo" data="{{item}}" />
</block>
下方加入
<!--audio类型-->
<block wx:elif="{{item.tag == 'audio'}}">
<template is="wxParseAudio" data="{{item}}" />
</block>
一共有十一处这样的地方,添加的时候请细心一点。
接下来,在wxParse.wxss中添加:
.wxParse-audio{
text-align: center;
margin: 10px 0;
}
.wxParse-audio-audio{
width:100%;
}
最后在文章发布的时候,在需要添加音乐的地方按照这个格式来添加audio标签:
<audio poster="图片地址" name="歌曲名" author="歌手" src="音频文件地址"></audio>
这样就实现了在小程序里添加音频文件直接播放音乐的目的。