记录一下移动端h5上传音频遇到的兼容问题
测试的文件类型有:.mp3, .wma, .amr, .wav, .m4a
1.accept只设置audio/*
,ios无法选取音频文件
实验发现设置 accept="audio/*, .mp3, .wma, .amr, .wav, .m4a"
,可以兼容ios和安卓选取这些音频文件(wma还是无法选取)
2.播放兼容情况
场景:通过input
框选取本地音频文件后得到的file
对象,URL.createObjectURL(file)
得到本地文件播放地址
播放器:原生audio
标签
- mp3文件:安卓选取的文件必须带有扩展名,否则
file.type
为空、file.name
是文件命本身(没有扩展名) - m4a文件:,安卓、ios均不支持播放,有可能是
URL.createObjectURL(file)
转换后造成的问题
<!--安卓可以播放远端的m4a文件,ios不支持-->
<audio class="audio-box" controls autoplay crossorigin="anonymous">
<source
src="https://xesfile.oss-cn-beijing.aliyuncs.com/creators-storage%2Fa227612ba695f8907e5073c8b0071223.m4a"
type="audio/mp4"
/>
</audio>
- wma文件: ios无法选取该类型文件,(accept属性设置了无效,暂时不知道原因)