HTML5 Audio: Chrome на Android не автоматически воспроизводит песню против Chrome на ПК
Я сделал iPod с HTML5.
Вы можете попробовать его здесь.
http://inventikasolutions.com/demo/iPod
На ПК при использовании Chrome. Если я перейду к песне, она начнет воспроизводиться автоматически.
Но при использовании Chrome на Android он не воспроизводит песню. Мне нужно снова нажать кнопку воспроизведения/паузы, чтобы воспроизвести звук.
Вот код, который запускается, когда вы выбираете песню для воспроизведения:
audioPlayer.src=songurl[number];
audioPlayer.oncanplaythrough = "isAppLoaded";
audioPlayer.autoplay = "autoplay";
audioPlayer.addEventListener('ended',nextSong,false);
document.getElementById("player").appendChild(audioPlayer);
и вот код воспроизведения/паузы.
if (audioPlayer.paused)
{
audioPlayer.play();
$("#pauseindicator").hide();
$("#playindicator").show();
}
else
{
audioPlayer.pause();
$("#pauseindicator").show();
$("#playindicator").hide();
}
Может ли это иметь какое-то отношение к переменной "autoplay"?
Браузер по умолчанию в Android воспроизводит песню сразу.
Спасибо.
Ответы
Ответ 1
Пожалуйста, обратитесь к этой ссылке...
http://code.google.com/p/chromium/issues/detail?id=138132
Chrome не позволяет приложениям воспроизводить аудио в формате HTML5 без явного действия пользователя, подобно тому, как он обрабатывается iOS, но отличается от того, что поддерживает браузер Android.
Автовоспроизведение не выполняется на андроиде, так как это будет стоить использование данных.
Ответ 2
В случае, если кто-то столкнется с этим - Android-версия Chrome фактически блокирует функцию автовоспроизведения, но вы можете изменить настройки браузера. Для этого вам нужно ввести хром://флаги и установить Отключить жест для воспроизведения мультимедиа. Невозможно принудительно настроить этот параметр через Интернет, но если вы пишете специальное веб-приложение, как я, вы можете его использовать.
Ответ 3
Добавьте create.js на свою страницу:
<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>
а затем запустите звук следующим образом:
<script>
createjs.Sound.registerSound("./click.mp3", "x");
setTimeout(function () {
createjs.Sound.play("x");
}, 10000)
</script>
Работает для меня на последнем Android.
Ответ 4
Обновите свой Chrome до 29, эта версия теперь поддерживает API WebAudio и устраняет многие проблемы.
см. Chrome для Android Update
Я использую SoundJS Lib и отлично работаю во всех браузерах (только не работает хорошо в Android Android Browser и Chrome с версией Android меньше 4.1).
См. следующие примеры: www.createjs.com/#!/SoundJS/demos/testSuite
Поддержка API веб-аудио для Chrome для Android: code.google.com/p/chromium/issues/detail?id=166003
Ограничения SoundJS: community.createjs.com/kb/faq/soundjs-faq
Ответ 5
Похоже, есть новый способ активного Chrome для автовоспроизведения аудио и видео
Перейдите в chrome://flags
Установите Autoplay policy
в No user gesture is required
![Флаги Chrome]()