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. но я надеюсь, что это поможет!