Опять аудио! Музыка фоном, КАК ???
Добрый день Асам по JS !!!
Cо криптами я новичок ! И нужно, поскольку столкнулся по работе... Не понимаю, что не так в коде по случ.выбору музыки, которая должна звучать фоном при открытии страницы... Выбор в switch выполняется... О чем свидетельствует отладочный - alert (x) Отдельно, вне скрипта : <audio src="https://drivemusic.me/dl/AWkaaH9xtZJtrs38TMfQLg/1599767898/download_music/2016/02/keiko-matsui-forever-forever.mp3" autoplay></audio> работает !!! А по выбору - нет ??? :-/ Помогите решить задачку, плиз... :thanks: Привожу код: <html> <body> <script> switch (Math.floor(Math.random() * 3) + 1) {// Один из 3х case 1: x="https://drivemusic.me/dl/AWkaaH9xtZJtrs38TMfQLg/1599767898/download_music/2016/02/keiko-matsui-forever-forever.mp3"; break; case 2: x="https://drivemusic.me/dl/b1Uf_3jG11wbPk6VN39aKA/1599698135/download_music/2014/06/parallels-beachflow.mp3"; break; case 3: x="https://drivemusic.me/dl/LYGwhcbsvxWYFthXC-ahSw/1599698369/download_music/2013/04/central-lounge-before-closing.mp3"; } alert (x); //<audio src=x autoplay></audio> </script> </body> </html> |
Сейчас браузеры блокируют автовоспроизведение audio, независимо от того стоит там autoplay или программно вызывается функция play() без предварительных действий пользователя (например, по нажатию кнопки вызывается функция, которая вызывает play())
https://developer.mozilla.org/en-US/...Autoplay_guide |
Цитата:
Тогда уж через document.write надо Вот такой скрипт <!DOCTYPE html> <html lang="ru"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body > <script> switch (Math.floor(Math.random() * 3) + 1) {// Один из 3х case 1: x="https://drivemusic.me/dl/AWkaaH9xtZJtrs38TMfQLg/1599767898/download_music/2016/02/keiko-matsui-forever-forever.mp3"; break; case 2: x="https://drivemusic.me/dl/b1Uf_3jG11wbPk6VN39aKA/1599698135/download_music/2014/06/parallels-beachflow.mp3"; break; case 3: x="https://drivemusic.me/dl/LYGwhcbsvxWYFthXC-ahSw/1599698369/download_music/2013/04/central-lounge-before-closing.mp3"; } document.write(`<div>${x}</div>`) document.write(`<audio id='au' src="${x}" autoplay></audio>`) </script> <button id='pl'>Play</button> <script> document.getElementById('pl').addEventListener('click', ()=>document.getElementById('au').play()) </script> </body> </html> по autoplay не срабатывает. Блокируется. Только по действию пользователя = нажатию кнопки |
Что значит "...браузеры блокируют автовоспроизведение audio"
И Гугл и Яндекс у меня воспроизводит как я у же писал: "Отдельно, вне скрипта". Запустите строку ниже даже в старом Int Explorer: <audio src="https://drivemusic.me/dl/AWkaaH9xtZJtrs38TMfQLg/1599767898/download_music/2016/02/keiko-matsui-forever-forever.mp3" autoplay></audio> и убедитесь, как НЕ РАБОТАЕТ !???? А вот в скрипте, УВЫ ! |
По кнопке - уже ближе. Но это не то.... :nono: Может по одному из событий:
window.onload = function() или <body onload="function()"> :-? |
Цитата:
Я знаю, как запустить на странице. Вне скрипта. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>audio</title> </head> <body> <audio src="https://drivemusic.me/dl/AWkaaH9xtZJtrs38TMfQLg/1599767898/download_music/2016/02/keiko-matsui-forever-forever.mp3" autoplay></audio> </body> </html> Блокируется. |
Многоуважаемый "voraa" - Профессор форума !
"запустить строку" - имеется такая терминология... значит выполнить код, который без среды воспроизведения (в нашем случае любого браузера, как интерпретатора языка НТТP - языка протокола гипертекст.разметок) - прото строка, "дрова", если хотите... Набрав в простом блокноте лишь один тег: <audio src="...."></audio> а затем переименовав файл с ним в тип: .htm выполнить, запустить даже в Int Explorer и без вступительных: <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>audio</title> </head> <body> РАБОТАЕТ для тестирования- ЕЩЕ КАК !!! Жалко, что не получил нужного ответа :cray: Решить такой простенький пример по программному выбору музыки - смешно... И это есть - великий и могучий Java Script ????? |
Цитата:
Реально - есть страница со всеми заголовками. И на этой реальной странице современные браузеры (про ИЕ не знаю, давно не приходится ориентироваться на него), начиная с каких то версий стали блокировать автовоспроизведение аудио (и воспроизведение по play() без явных действий пользователя). Когда это стало происходить нам тоже пришлось бросить одну работу, т.к не могли справиться с этим. Наверно это правильно. Представьте, что все подряд начнут ставить фоновые вопли и шумы на свои страницы без всякого предупреждения. И мы вынуждены будем все это слушать |
Я к тому, что вписывать обязательные теги для воспроиз. 1-го не неужно, а то, что интерпретатор обрамляет всем необходимым - это ясно !
На счет музыки. Кому не по душе Релакс или грубее достаточно заглушить динамики на панеле задач или https://javascript.ru/forum/attachme...d=160005957 7 во вкладке страницы... Соглашусь с одним - эта политика скорее для конфиденциального просмотра страниц (не спалиться звуками при просмотре контента !!!) Но, Но и но: У меня музыка при открытии страницы автоматом, то бишь autoplay срабатывает, играет. А вот как выбрать ????? |
Цитата:
<audio src="https://drivemusic.me/dl/AWkaaH9xtZJtrs38TMfQLg/1599767898/download_music/2016/02/keiko-matsui-forever-forever.mp3" autoplay></audio> Играет? Цитата:
Цитата:
Это как устанавливать платную подписку не спрашивая согласия. Типа, если не нужно откажись. Но деньги за первоначальную установку спишем. |
Часовой пояс GMT +3, время: 14:54. |