<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>摇一摇功能</title>
</head>
<body onload="init()">
<p>用力摇一摇你手机</p>
<audio id="musicBox" controls src=""/>
</body>
</html>
<script type="text/javascript">
//Javascript
var SHAKE_THRESHOLD = 3000;
var last_update = 0;
var x = y = z = last_x = last_y = last_z = 0;
function init() {
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
alert('not support mobile event');
}
}
function deviceMotionHandler(eventData) {
var acceleration = eventData.accelerationIncludingGravity;
var curTime = new Date().getTime();
if ((curTime - last_update) > 100) {
var diffTime = curTime - last_update;
last_update = curTime;
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000; if (speed > SHAKE_THRESHOLD) {
alert("摇动了,播放");
var media=document.getElementById("musicBox");//获取音频控件
media.setAttribute("src","http://1.html5weby1y.sinaapp.com/2.mp3");
media.load();//加载音频
media.play();//播放音频
}
last_x = x;
last_y = y;
last_z = z;
}
}
</script>

最新文章

  1. Netty实现高性能RPC服务器优化篇之消息序列化
  2. iOS开发UI高级手势识别器
  3. JavaScript刷新页面n种方法
  4. Linux 视频设备驱动V4L2最常用的控制命令
  5. php中的钩子(hook插件机制)
  6. thinkphp nginx配置
  7. SVN: bdb: BDB1538 Program version 5.3 doesn&#39;t match environment version 4.7
  8. hdu 4427 Math Magic
  9. idea类似eclipse鼠标技巧java api信息
  10. windows cmd 命令大全
  11. 机器学习 —— 基础整理(七)前馈神经网络的BP反向传播算法步骤整理
  12. 《iOS Human Interface Guidelines》——Multitasking
  13. 常用的CSS框架
  14. 查看apk签名 和 keystore 的信息
  15. 关于Tomcat启动时,长时间停在Initializing Spring root webApplicationContext处的原因
  16. DLCI 简介
  17. matlab练习程序(神经网络分类)
  18. laravel 表单方法伪造
  19. zprofiler三板斧解决cpu占用率过高问题
  20. C#学习笔记(28)——匿名委托和Lambda表达式

热门文章

  1. centos启用root账号登陆telnet
  2. oracle 数据字典
  3. UI5-文档-4.31-Routing and Navigation
  4. mysql 2003: Can&#39;t connect to MySQL server on &#39;127.0.0.1:3306&#39; (99)
  5. Mybatis知识(4)
  6. ArrayList 原理(1)
  7. How to Pronounce the word BECAUSE
  8. Haskell语言学习笔记(66)Aeson
  9. Haskell语言学习笔记(24)MonadWriter, Writer, WriterT
  10. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 处理静态资源