ios下JS控制audio播放问题

JoeyLin1990 2014-08-21 04:58:18
HTML:
<audio id="musicBox"  preload="metadata"  controls  src="Sent.mp3">

JS:
 
function autoPlay(){
try
{
var myAuto = document.getElementById('musicBox');
myAuto.play();
}
catch(e)
{
alert(e);
}
}


通过摇一摇的事件来调用autoPlay方法控制音频文件的播放(摇一摇的JS就不贴了,网上一堆文件),安卓的UC浏览器没问题;ios下safari、UC都无法通过js调用方法播放音乐,只能通过btn click事件来调用才可以,另外QQ、微信内置浏览器完全没问题,后来各种查询发现有种说法是“预加载preload。在移动端autoplay跟preload都没无视掉了。它只能通过用户的手指触摸来实现播放。手指触摸的意思就是必须是click,touch这样的事件,而非随便trigger一下。”
请问各位高手有没有较为简单的解决方式,谢谢各位!
...全文
777 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
JoeyLin1990 2014-08-22
  • 打赏
  • 举报
回复
通过监听window.addEventListener('touchstart', touchstartHandler, false); touch事件来加载audio(load()),这样再次通过js来调用就没问题了, 但还是避免不了先触摸屏幕动作,各位大神有没有好的建议
JoeyLin1990 2014-08-21
  • 打赏
  • 举报
回复
别沉啊 求高手

61,115

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧