Аудио Javascript не работает на мобильных устройствах - PullRequest
0 голосов
/ 02 сентября 2018

Приведенный ниже код отлично работает в настольных браузерах (воспроизводит музыку). Но когда я пытаюсь открыть сайт на любом мобильном устройстве, он не работает.

var music = new Audio("mscs/gamemusic.mp3");

function playmusic() {
    music.controls = false;
    music.loop = false;
    music.autoplay = true;
    document.body.appendChild(music)
}

Я использую его в функции при запуске игры:

function createnewgame() {
    ...
    playmusic();
    ...
    ...
}

Кто-нибудь знает, что не так?

Ответы [ 3 ]

0 голосов
/ 03 сентября 2018

Вместо добавления var "music" в html body, вы можете попробовать воспроизвести аудио прямо из JavaScript.

function playmusic() {
music.play();
}

0 голосов
/ 03 сентября 2018

Некоторые мобильные браузеры поддерживают автоматическое воспроизведение звука, но ios, chrome и другие требуют интерактивных действий для запуска воспроизведения звука. Вы можете попробовать поработать с атрибутом mute ... введите описание ссылки здесь

0 голосов
/ 03 сентября 2018

Ну, это явно проблема с поддержкой браузера. Согласно caniuse , элемент <audio> (а для него используется объект js 'Audio) имеет известные проблемы с поддержкой, включая

iOS и Chrome на Android не поддерживают autoplay, как указано в спецификации

и другие. Не уверен, что это может быть преодолено какой-то библиотекой, но, поскольку ограничение autoplay было введено специально, я не буду рассчитывать на обходные пути ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...