html5 аудио не запускается при ускорении на 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>

1 ответ

В этой связанной статье говорится, что вы можете воздействовать на звуки, сначала загрузив их. Я не знаю, работает ли это наверняка, так как я еще не начал разрабатывать для iPhone. но я надеюсь, что это поможет!

Другие вопросы по тегам