我想在摇晃 iPhone 时触发音频文件。我可以通过按下按钮来播放音频。在我第一次按下按钮后,我可以在摇晃时播放音频。但是在第一次进入页面时,加速度计不会播放音频。代码如下,一个小测试页面位于:
pineappleapps.com/zdev/html5test ((需要 iPhone 或 iPod iOS v4.2 测试)
场景如下:
1)刷新页面并倾斜iPhone并出现播放警报但没有音频
2)按棒球按钮并出现警报,然后播放音频
3)现在倾斜手机并出现警报,然后播放音频
4)再次刷新页面并倾斜手机,再次出现警报但没有音频
必须与初始化音频的按钮有关。任何帮助将不胜感激。
代码:
javascript:
function baseball()
{
alert('play');
document.getElementById('bbaudio').play();
var t=setTimeout("enableShake()",3000);
}
function enableShake()
{
document.getElementById("shakeE").innerHTML = '1';
}
变量 ax = 0; 变量 ay = 0; 变种摇最大= 0;
window.ondevicemotion = function(event)
{
ax = event.accelerationIncludingGravity.x;
ay = event.accelerationIncludingGravity.y;
az = event.accelerationIncludingGravity.z;
if(ax > shakemax)
{
shakemax = ax;
}
var shake = document.getElementById("shake");
shake.innerHTML = ax;
if(ax > 8.0)
{
var se = document.getElementById("shakeE").innerHTML;
if(se == '1')
{
document.getElementById("shakeE").innerHTML = '0';
baseball();
}
}
}
html:
<br />
<br />
<input type="submit" onclick="baseball()" value="baseball"/>
<br />
<br />
<br />
<br />
<div id="shake">0</div>
<div id="shakeE">1</div>
<audio id='bbaudio' src="baseball_hit.wav" controls="controls"></audio>