利用html5实现类似微信的手机摇一摇功能,并播放音乐。

1、  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度、方位、朝向等。

2、  deviceMotion:封装了运动传感器数据的事件,可以获取手机运动状态下的运动加速度等数据。

不多说直接上代码,

Javascript:

[javascript]  view plain copy
  1. var SHAKE_THRESHOLD = 3000;
  2. var last_update = 0;
  3. var x = y = z = last_x = last_y = last_z = 0;
  4. function init() {
  5. if (window.DeviceMotionEvent) {
  6. window.addEventListener('devicemotion', deviceMotionHandler, false);
  7. } else {
  8. alert('not support mobile event');
  9. }
  10. }
  11. function deviceMotionHandler(eventData) {
  12. var acceleration = eventData.accelerationIncludingGravity;
  13. var curTime = new Date().getTime();
  14. if ((curTime - last_update) > 100) {
  15. var diffTime = curTime - last_update;
  16. last_update = curTime;
  17. x = acceleration.x;
  18. y = acceleration.y;
  19. z = acceleration.z;
  20. var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;
  21. if (speed > SHAKE_THRESHOLD) {
  22. alert("摇动了");
  23. media.setAttribute("src", "http://211.148.5.228:8002/Pages/test/Kalimba.mp3");
  24. media.load();
  25. media.play();
  26. }
  27. last_x = x;
  28. last_y = y;
  29. last_z = z;
  30. }
  31. }

Html:

[html]  view plain copy
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>摇一摇功能</title>
  7. <script type="text/javascript">
  8. //Javascript
  9. </script>
  10. </head>
  11. <body οnlοad="init()">
  12. <p>用力摇一摇你手机</p>
  13. <audio style="display:hiden" id="musicBox" preload="metadata" controls src="http://211.148.5.228:8002/Pages/test/Kalimba.mp3" autoplay="false">
  14. </audio>
  15. </body>
  16. </html>

IOS 测试:Safari 弹框\不播放音乐, Chroma 弹框\不播放音乐,UC弹框\不播放音乐

Andriod 测试:UC弹框\播放音乐,Chroma 弹框\播放音乐,内置浏览器 弹框\播放音乐

转载于:https://www.cnblogs.com/lucaryoung/p/4506421.html

利用html5实现类似微信的手机摇一摇功能相关推荐

  1. 利用html5实现类似微信的手机摇一摇功能-计算摇动次数

    1.  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2.  deviceMotion:封装了运动传感器数据的事件 ...

  2. 摇一摇抽奖 php,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖

    摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下:if (win ...

  3. 苹果手机html5摇一摇游戏戏码,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion...

    利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion 摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的 ...

  4. 类似微信,微博,QQ的头像截图功能, 图片支持缩放

    类似微信,微博,QQ的头像截图功能, 图片支持缩放, 不多说了, 直接上源码! http://pan.baidu.com/s/1gdJxb03

  5. 利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖

    摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下: if (wi ...

  6. html5 手机随机抽奖,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖

    1 2 3 4 5 6 摇一摇抽奖 7 8 html,body{width:100%;height:100%;background-color:#000;margin:0;overflow:hidde ...

  7. 小程序学习日记-微信7-摇手机抖一抖功能模拟

    微信提供的陀螺仪相关方法 提供的方法: 陀螺仪方法: wx.startGyroscope(Object object):开启陀螺仪监控 wx.stopGyroscope(Object object): ...

  8. Html5手机微信摇一摇

    <?php /*** Created by JetBrains PhpStorm.* User: 张华* Date: 16-3-4* Time: 上午11:29* To change this ...

  9. 用HTML5实现手机摇一摇的功能并配上声音

    一.用HTML5实现手机摇一摇的功能并配上声音 HTML5的一个重要特性:DeviceOrientation,他将底层的方向传感器和运动传感器进行了高级封装,提供DOM事件支持. DeviceOrie ...

最新文章

  1. mysql 事务 返回插入的值_Mysql同一个事务内记录成功插入后查询不出来
  2. wpf 加载资源html,从资源文件加载WPF样式
  3. boost::math模块计算 Bessel、Neumann 和 Airy 函数的零点的测试程序
  4. linux终端vim底行模式点冒号,Vim基本使用方法
  5. hosts 文件与 ipv6
  6. linq to json for sl
  7. UWP开发入门(十一)——Attached Property的简单应用
  8. Linux搭建svn服务
  9. linux generic什么意思_如何在 Ubuntu 中修复 VirtualBox 的 “rc=1908” 错误 | Linux 中国...
  10. Uni2D Unity4.3 2D Skeletal Animation
  11. 大数据之Oozie——源码分析(一)程序入口
  12. windows xp下安装java8(jdk8)-转
  13. C#图解教程读书笔记(深入理解类)
  14. 国军标gjb150a振动冲击试验标准
  15. (JavaScript案例)可拖动的模态框
  16. 程序员打新总结 6月份 新股申购秘籍
  17. Appium+python自动化(六)- 连接模拟器并启动淘宝APP(超详解)
  18. mysql out of range,mysql保存数据提示:Out of range value for column错误
  19. 滚动轴承故障检测与诊断(一)
  20. buffer几种用法

热门文章

  1. java 实现 按位异或_转:[Java] 深入理解按位异或运算符
  2. jQuery日历插件酒店预订蓝色
  3. Spring AOP代码实现:实例演示与注解全解
  4. CAN总线高仿CANoe界面上位机-二更
  5. webLogic内存溢出解决方案
  6. 借助江苏电信欢go进行流量推广活动合作的工作规范(二)
  7. 微信测试公众号基本配置URL和Token的验证-JAVA
  8. mysql mediumint是什么类型_MySQL中数值类型中smallint、mediumint等区别是什么 - 晓雨网...
  9. Android动态屏蔽IP地址
  10. 【超详细】支持向量机(SVM)数学推导