Взаимодействие с пользователем необходимо для воспроизведения аудио обходного пути? - PullRequest
0 голосов
/ 26 декабря 2018

В настоящее время я работаю над приложением html5 / js music player.У меня много пользователей мобильных устройств, у которых проблемы с воспроизведением музыки.Согласно многим веб-сайтам, вы должны иметь взаимодействие с пользователем, прежде чем вы сможете воспроизводить аудио.

В настоящее время я запрограммировал свой музыкальный проигрыватель.Я использовал атрибут onclick для обнаружения касаний / нажатий на кнопку воспроизведения.

<button onclick = "playaudio('song name');">Play</button>

Затем у меня есть код для js для разрешения URL-адреса воспроизведения.

var http = new XMLHttpRequest();
var url = '/getsong';
var params = 'name='+songname;
http.open('POST', url, true);


http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

http.onreadystatechange = function() {
    if(http.readyState == 4 && http.status == 200) {
    var snd=document.getElementsByTagName("audio")[0];
    snd.src = http.responseText;
    snd.load();
    snd.play();
    }
}
http.send(params);

Это прекрасно работает на компьютере, но на мобильных пользователях приходится нажимать кнопку паузы / воспроизведения, чтобы начатьмузыка.Есть ли обходной путь для требования взаимодействия с пользователем, потому что я хочу внедрить систему удаленного воспроизведения, такую ​​как Google Cast / Spotify Connect.

В настоящее время у меня нет доступа к полному коду, так что это только основная частьмузыкального проигрывателя.

Также мне нужно создать функцию списка воспроизведения, но из-за этого кажется невозможным воспроизвести следующую дорожку в списке воспроизведения без взаимодействия с пользователем.

1 Ответ

0 голосов
/ 28 декабря 2018

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

Автозапуск аудио тега не работает в мобильном телефоне

И да, что касается плеера, вы можете выбрать HTML5 Player с открытым исходным кодом, Amplitude.js, который поддерживает плейлист, а также воспроизведение следующей песни без взаимодействия с пользователем на основе плейлиста, вы можете проверить демо на их сайте

https://521dimensions.com/open-source/amplitudejs

См. Код на их GitHub:

https://github.com/521dimensions/amplitudejs

...