[英]html5 audio not triggered by acceleration on iPhone / pod
我想在搖動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';
}
var ax = 0; var ay = 0; var shakemax = 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>
在這篇鏈接文章中 ,它說您可以通過先加載聲音來影響聲音。 我不知道這是否行得通,因為我還沒有開始為iPhone開發。 但我希望這會有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.