簡體   English   中英

html5音頻不是由iPhone / pod上的加速觸發的

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM