在IOS中第一次调用play方法播放音频会被阻止,必须得等用户有交互动作,比如touchstart,click后才能正常调用,所以可以在摇一摇之前提醒用户点击一下开始游戏的按钮或者给用户一个弹窗,用户点击的时候播放一个超级短的无声音文件,之后替换src,这样再调用play方法就可以了。

代码如下如:

Document

开始游戏

$('button').one('touchstart', function () {

var audio = document.getElementById("audio");

audio.play();

audio.setAttribute('src', 'https://daoket.github.io/img/shake.mp3');

audio.load();

$(this).text('游戏进行中');

})

/**

* 移动端摇一摇

* @params devicemotion 提供设备加速度信息

*/

window.addEventListener('devicemotion', devicemotionHandler, false);

var x,

y,

z,

last_x,

last_y,

last_z,

last_time = 0,

SHAKE_SPEED = 4000;

function devicemotionHandler (evet) {

var acc = event.accelerationIncludingGravity,

curTime = new Date().getTime(),

diffTime = curTime - last_time;

if (diffTime > 100) {

last_time = curTime;

x = acc.x;

y = acc.y;

z = acc.z;

var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;

if (speed > SHAKE_SPEED) {

document.getElementById("audio").play()

}

last_x = x;

last_y = y;

last_z = z;

}

}

在线查看

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

微信墙php摇一摇无声音,IOS微信摇一摇声音无法播放的解决办法相关推荐

  1. php微信二维码签到墙互动,微久信微信墙2017全新版本教程第二篇:微信签到/扫码3D签到/微信手绘签到...

    微久信微信墙这回给大家带来的是全新的微信扫码签到教程: 可以实现多种签到墙效果: 1.普通微信签到:签到墙上显示扫码签到的客户头像和昵称/姓名: 2.微信3D签到:签到头像可以组成文字.LOGO.图形 ...

  2. 不对外开放的微信小程序审核时不通过,因为无法提供测试账号导致审核人员登录失败解决办法!

    其实这样仅供公司内部员工使用的小程序很常见的,我现在开发的也是,外部人员无法使用,只有公司内部员工经过授权的微信才可以注册登录,这时我们提交正式版本时,因为怕公司资源泄露,是无法提供测试账号给微信审核 ...

  3. 微信 android 平台 应用签名错误,详解IOS微信上Vue单页面应用JSSDK签名失败解决方案...

    背景 手机型号: 型号:iphone 7 / iphone xs max 版本:ios 10.3.1 / ios 12.1 微信版本:WeChat 6.7.3 问题还原: Vue应用(vue-rout ...

  4. 在微信中点击棋牌游戏类app下载链接显示已停止访问打不开的解决办法

    微信的使用人数已经高居各通讯APP的榜首的同时,微信成为了我国移动流量最大的平台之一,从去年开始就对这一块管制的很严,在微信内分享链接很容易就会被微信拦截屏蔽.要是微信用户收到被屏蔽的链接后,打开提示 ...

  5. 微信开发者工具代码仓的管理以及错误:Push failed Error: invalid authentication scheme 的解决办法,微信小程序代码仓项目删除

    文章目录 1.新建代码仓 2.报错:Push failed Error: invalid authentication scheme 的解决办法 3.代码仓项目的删除 1.新建代码仓 如果你的代码已经 ...

  6. 安装deepin微信报错: dpkg: 依赖关系问题使得 deepin.com.wechat:i386 的配置工作不能继续 解决办法如下:

    安装微信deepin.com.wechat_2.6.8.65deepin0_i386.deb版本时出现以下错误: 解决方法如下: /* 新建个文件夹 */ #mkdir deep /* 进入文件夹 * ...

  7. iphone 微信网页自动播放音频解决办法

    2019独角兽企业重金招聘Python工程师标准>>> iphone 虽然支持html5的audio 但有很多限制,比如必须通过用户操作才能加载音视频文件,而 preload 属性 ...

  8. “无任何网络提供程序接受指定的网络路径”的解决办法

    症状: 1.可以正常上网,浏览网页,登陆msn等,但无法访问局域网,通过ip地址可以ping通局域网机器,但无法通过pcname ping通: 2."开始" "运行&qu ...

  9. 奥的斯维修服务器无响应,天津奥的斯TOEC-40电梯常见故障检修及解决办法

    电气系统主要故障:安全回路动作,换速后减速保护,超速或欠遮保护,缺少脉冲IP保护,救援操作,电动机热保护,轿厢不启动保护,群控连接错误,控制电源电压继电器TRV保护. 其他故障如下:减速保护SDP继电 ...

最新文章

  1. Oracle数据库安装响应文件,1.2.6 步骤6:配置应答文件,然后运行安装程序(2)...
  2. DNS服务器之简单配置(一)
  3. eclipse maven访问maven私有库
  4. Python 变量 字符串 运算
  5. 告别乱码,针对GBK、UTF-8两种编码的智能URL解码器的java实现
  6. fastreport按条件查询_查询代价的
  7. Invalid bound statement (not found): org.seckill.dao.Suc
  8. 运行 Clojure 编程实战 5.3 节代码出现 Could not locate Clojure resource on classpath 问题
  9. Python分布式爬虫实战 - 豆瓣读书
  10. Rodrigues’ Rotation Formula罗德里格旋转公式详解(坐标轴旋转)
  11. uni-app 监听截屏事件和截图(ios)
  12. 为什么 zookeeper 节点数是奇数
  13. kubernetes 入门介绍
  14. 最佳视频转换器:Filmage Converter Mac
  15. 云原生 · DevOps`01 | 光速初识DevOps
  16. python详解(2)——数据类型与变量
  17. GPRS核心网信息元素—P-TMSI
  18. 达人深度评测vivos7e和OPPOK7x参数对比 vivos7e和OPPOK7x哪个好
  19. python大数据培训班学费
  20. Java8 stream sorted排序时包括null

热门文章

  1. 西乡中学2021艺体生高考成绩查询,2019年深圳西乡中学中招体育、艺术特长生合格名单公布...
  2. android 头像球_Android实现圆形头像效果
  3. Unity 异步加载网络头像
  4. 火车票预订的一些问题
  5. 2014年2月20号,财经会客厅,万科王石解析李嘉诚抛售地产及预测房价即将见顶!
  6. 15种常用ARGB颜色
  7. html图片自动淡出变化,用CSS3 transition属性实现淡入淡出轮播图
  8. 美国计算机专业 学校推荐信,美国计算机专业留学推荐信怎么写
  9. 静态类与非静态类的区别
  10. 如何去自律(时刻警醒!!!!!!)