Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.07.2019, 14:04
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от рони
для клиента добавлять аргументы на запуск, наверно не выход.
Вот именно поэтому эти аргументы и были добавлены! Чтобы можно было по прежнему запускать звук в программах и ОС, и была возможность избавиться от шумных вкладок!

Сообщение от рони
для клиента добавлять аргументы на запуск, наверно не выход.
У меня такое чувство, что если я не добавил кнопку Посмотреть! и не дописал полностью рабочий пример, то вы вообще не понимаете, о чём там речь!

Сообщение от рони
Firefox тоже не хочет воспроизводить
Во всех браузерах воспроизводится, просто вам нужно обрабатывать исключение...

Например, автозапуск в браузере Google Chrome со звуком разрешен, если:
  • Пользователь взаимодействовал с доменом (щёлкнул мышью, прикоснулся к сенсорному экрану и т. д.).
  • На настольном компьютере ранее воспроизводил звуком (на основе значения индекса заинтересованности пользователя)
  • На мобильном телефоне пользователь добавил сайт на свой домашний экран

Добавил обработку исключения...

Сообщение от Lefseq
Только мне нужно чтобы музыка звучала без наличия плеера на странице, просто фоном.
Фоновая музыка без возможности её отключить является плохой практикой!

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
    <style>
    
.audio-muting-button {
	position: fixed;
	top: 1em;
	left: 1em;
	background: white;
	border: 1px solid #f1f1f1;
	border-radius: 0.5em;
	box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.1);
	font: 1em -apple-system, system-ui, sans-serif;
	text-transform: uppercase; 
	display: flex;
	align-items: center;
	padding: 0.5em;
	overflow: hidden;
	outline: none;
}

.audio-muting-button::before {
	content: "volume_off";
	font: 2em Material Icons;
	text-transform: none;
	margin-right: 0.25em;
}

.audio-muting-button.muted::before {
	content: "volume_up";
}

.audio-muting-button::after {
	content: "";
	position: absolute;
	background: #EEEEEE;
	width: 50px;
	height: 50px;
	top: 50%;
	left: 50%;
	margin: -25px;
	border-radius: 50%;
	transition: 300ms linear;
	transform: scale(0);
	z-index: -1;
}

.audio-muting-button:focus::after {
	transform: scale(5);
}
    
    </style>
	<script>

document.addEventListener("DOMContentLoaded", function() {
	var audio = new Audio("https://cdn.glitch.com/2e4efa25-4991-43a3-9729-bd42c161c6ce%2Faudio.mp3?v=1");
	audio.currentTime = "audioLastTime" in localStorage ? localStorage.audioLastTime : 0;
	audio.loop = true;
	audio.play().catch(function() {
		audio.muted = true;
		renderMutingLabel();
	});
	
	var button = document.createElement("button");
	button.className = "audio-muting-button";
	renderMutingLabel();
	button.addEventListener("click", function() {
		audio.muted ^= true;
		renderMutingLabel();
		audio.play();
	});
	function renderMutingLabel() {
		button.textContent = audio.muted ? "Tap to unmute" : "Tap to mute";
		button.classList.toggle("muted", audio.muted);
	}
	document.body.appendChild(button);

	addEventListener("beforeunload", function(event) {
		localStorage.audioLastTime = audio.currentTime % audio.duration;
	});
});

	</script>
  </head>
  <body></body>
</html>


Интересно, что после того как я нажал эту кнопку (у себя по адресу localhost:5000) пару десятков раз, браузер разрешил автозапуск (очевидно же, что на основе значения индекса заинтересованности пользователя)

UPD Интересно, что на форуме уже со второго раза разрешает автозапуск! (По крайней мере у меня!)

Последний раз редактировалось Malleys, 08.07.2019 в 14:33.
Ответить с цитированием
  #12 (permalink)  
Старый 08.07.2019, 14:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Malleys,
спасибо за код, добавил в сундучок.
Сообщение от Malleys
У меня такое чувство, что если я не добавил кнопку Посмотреть! и не дописал полностью рабочий пример, то вы вообще не понимаете, о чём там речь!
да, я не владею терминологией и современными средствами разработки, знаю только простой js и jquery.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Воспроизведение видео на сайте по расписанию. Grasss Общие вопросы Javascript 19 06.11.2017 20:54
Как сделать идентификацию музыки на сайте hipperman Общие вопросы Javascript 10 28.07.2016 11:48
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
кнопка для музыки на сайте Alexander_Boyarskiy Flash 1 29.11.2011 21:40
воспроизведение музыки AntiBuger Events/DOM/Window 2 02.09.2011 23:40