Django/html Автовоспроизведение mp3
У меня есть приложение django, и один view, который проверяет некоторые данные, и передает переменную «play» в шаблон. Если play равен true - должен проигрываться короткий mp3 «bing», в противном случае он не проигрывается. Страница перезагружается каждые 10 секунд, чтобы вызвать представление, проверить, изменилось ли значение «play», и, возможно, воспроизвести звук. Проблема в том, что сразу после первой загрузки страницы ничего не проигрывается. Мне нужно один раз нажать кнопку воспроизведения на html-плеере, и после этого все работает отлично. Но без этого первого «ручного воспроизведения» он не работает. Есть идеи? Код шаблона django выглядит следующим образом.
<html>
<head>
<script>
window.onload = function() {
var context = new AudioContext();
}
function autoRefresh() {
window.location = window.location.href;
}
setInterval('autoRefresh()', 10000);
</script>
</head>
<body>
{%if play%}
<audio autoplay controls id="music" >
<source src="{%static 'app1/stat1/d.mp3'%}" type="audio/mpeg">
</audio>
{%endif%}
</body>
</html>
Not all browsers allow autoplaying, or at least not immediately. The documentation on the autoplay
attribute [mdn-doc] says:
Autoplay availability
As a general rule, you can assume that media will be allowed to autoplay only if at least one of the following is true:
- The audio is muted or its volume is set to 0
- The user has interacted with the site (by clicking, tapping, pressing keys, etc.)
- If the site has been allowlisted; this may happen either automatically if the browser determines that the user engages with media frequently, or manually through preferences or other user interface features
- If the
autoplay
Permissions Policy [mdn-doc] is used to grant autoplay support to an<iframe>
and its document.
В вашем случае, вероятно, выполняется второе условие. Поэтому вам следует посмотреть, какие разрешения разрешены вашим браузером для этого сайта.