【移动应用开发技术】HTML5实现手机摇一摇的功能_第1页
【移动应用开发技术】HTML5实现手机摇一摇的功能_第2页
【移动应用开发技术】HTML5实现手机摇一摇的功能_第3页
【移动应用开发技术】HTML5实现手机摇一摇的功能_第4页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】HTML5实现手机摇一摇的功能

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

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

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

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)

{//一检测到摇动了,就5秒后跳转(此期间播放摇一摇的声音)

alert("摇动了");

media.setAttribute("src",

"/files/download/sound1/201410/5018.wav");

media.load();

media.play();

setTimeout(function(){location.href='';},5000);}

}

last_x

=

x;

last_y

=

y;

last_z

=

z;

}

}

</script>html5页面如下:<!DOCTYPE

html>

<html>

<head>

<meta

charset="utf-8"

/>

<title>HTML5实现手机摇一摇的功能</title>

<meta

content="text/html;

charset=utf-8"

http-equiv="Content-Type"

/>

<meta

name="Keywords"

content=""

/>

<meta

name="Description"

content=""

/>

<meta

name="viewport"

content="initial-scale=1.0,

user-scalable=no"

/>

<!--

Mobile

Devices

Support

@begin

-->

<meta

content="application/xhtml+xml;charset=UTF-8"

http-equiv="Content-Type">

<meta

content="no-cache,must-revalidate"

http-equiv="Cache-Control">

<meta

content="no-cache"

http-equiv="pragma">

<meta

content="0"

http-equiv="expires">

<meta

content="telephone=no,

address=no"

name="format-detection">

<meta

content="width=device-width,

initial-scale=1.0"

name="viewport">

<meta

name="apple-mobile-web-app-capable"

content="yes"

/>

<!--

apple

devices

fullscreen

-->

<meta

name="apple-mobile-web-app-status-bar-style"

content="black-translucent"

/>

<!--

Mobile

Devices

Support

@end

-->

<meta

content="width=device-width,

initial-scale=1.0,

minimum-scale=1.0,

maximum-scale=1.0,

user-scalable=no"

name="viewport">

<link

rel="shortcut

icon"

href="favicon.ico"

/>

<link

rel="stylesheet"

type="text/css"

href="css/style.css"

media="all"

/>

<script

src="js/jquery-1.8.2.min.js"

type="text/javascript"></script>

</head>

<body

onLoad="init()">

<img

src="p_w_picpaths/bg.jpg"

width="99%">

</body>

</html>在手机上试试OR<!DOCTYPE

html>

<html

lang="en">

<head>

<meta

charset="utf-8"

/>

<meta

name="viewport"

content="width=device-width,

initial-scale=1.0"

/>

<title>摇一摇功能</title>

<script

type="text/javascript">

//Javascript

</script>

</head>

<body

onLoad="init()">

<p>用力摇一摇你手机</p>

<audio

src="1.mp3"

controls="controls"

loop

id="audioBtn"

></audio>

</body>

</html>

<script>

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)

>

50)

{

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

(spee

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论