Подтвердить что ты не робот

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 воспроизводит песню сразу.

Спасибо.

4b9b3361

Ответ 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