【问题标题】:html5 audio not triggered by acceleration on iPhone / podiPhone / pod上的加速未触发html5音频
【发布时间】:2011-02-11 19:24:51
【问题描述】:

我想在摇晃 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; 变量 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>

【问题讨论】:

    标签: iphone html audio acceleration


    【解决方案1】:

    this linked article 中,它说您可以通过首先加载声音来影响声音。我不知道这是否确实有效,因为我还没有开始为 iPhone 开发。但我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2012-06-03
      • 1970-01-01
      • 2011-10-30
      • 2013-08-05
      • 1970-01-01
      • 2023-03-24
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多