安卓和ios的audio自动播放问题

使用H5的audio标签的时候,有时需要自动播放背景音乐,但是Android和IOS为了限制流量,所以不支持autoplay的属性,需要发生用户交互事件才能执行,有各种按钮,监听触摸等等的事件方法绕过此限制,但是给用户的体验不好 ,背景乐还要老是让用户触发事件。第二种原因可能是权限的问题,我使用其他app的时候总是手机自动提醒我是不是要给予声音,访问,照相等等的权限,这个提醒可能是系统或者是类似防火墙软件的提示,但是在Html网页中没有提示。

经过自己测试:
1、HTML创建Audio(autopaly controls):PC----OK
MOBILE----:OK
2、HTML创建Audio(autopaly):PC----OK
-------->总结:moible不支持autoplay
MOBILE----:NO
3、HTML创建Audio(autopaly controls ),Script设置Souce的SRC : :PC----OK
-------->总结:支持动态设置路径(Audio和Source 都可以)
MOBILE----:OK
4、HTML创建Audio(autopaly ),Script设置Souce的SRC : :PC----OK
-------->总结:moible不支持autoplay
MOBILE----:no
5、alert(audio.autoplay):
PC----: 设置时为true;;不设置时为false;
设置autoplay不设置对mobile没影响 参数的boolean值没矛盾就是被屏蔽了
MOBILE----:设置时为true;;不设置时为false;
6、动态创建audio(document.createElement('audio')):PC----OK;
总结:默认audio.autoplay为false 不能自动播放,play()方法也拯救不了MOBILE;
MOBILE----:NO
7、 总结: var audio=document.createElement('audio');
audio.src='aaa.mp3';
window.addEventListener('touchstart', function(){
audio.play();
}, false);
问题解决了;

你可能感兴趣的:(安卓和ios的audio自动播放问题)