Как воспроизвести звук только один раз

124
09 декабря 2019, 03:50

Как при загрузке страницы проиграть звук только раз? При перезагрузке(обновлении) или переходе со страницы на страницу не воспроизводить его повторно!

//Воспроизвести звук

$belfile = "../work/sound/bel.wav";
$audio = "<audio autoplay src='".$belfile."'></audio>";
Answer 1

Сохраняйте некий идентификатор посетителя, например в сессии, и проверяйте его по условию. Как-то так:

session_start();
isset($_SESSION['audio']) ?: $_SESSION['audio'] = 0;
if (! $_SESSION['audio']) {
    $_SESSION['audio'] = 1;
    $belfile = "../work/sound/bel.wav";
    $audio = "<audio autoplay src='" . $belfile . "'></audio>";
}
Answer 2

Я бы для этого использовал JS и localStorage.

Пример написан на Jquery

let isPlayAudio = 0; // создаём переменную для проверки
$(document).ready(function(){ // при прочтение страницы..
    let local = localStorage.getItem('myKey'); // проверяем есть ли наша проверка в хранилище
  if(local == 1) isPlayAudio = 1; // если у проверки из хранилища стоит "1", то звук не будет проигрываться, если нету ничего, то пропустит.
});
$(window).on('load', function(){ // Когда страница загружена..
    if(isPlayAudio != 1)    { // Проверяем можно ли запускать аудио
    let audio = new Audio(); // создаём объект аудио
    audio.src = 'https://sound-pack.net/download/Sound_16300.mp3'; // ссылка на звук
    audio.autoplay = true; // запускаем
    audio.volume = .3; // сделаем потише
    audio.remove(); // удаляем
    localStorage.setItem('playAudio', 1); // сохраняем значение для проверки
  }
});
READ ALSO
Безопасность при хотлинк

Безопасность при хотлинк

Задача: Позволить пользователям включение в веб-страницу изображений с чужого сервера

147
Как удалить текст из картинки?

Как удалить текст из картинки?

возможно ли вообще с помощью php удалить (или частично замазать) текст который находится на картинке? Дайте направление - куда копать?

150
Как сделать единую точку входа

Как сделать единую точку входа

Возможно данный вопрос уже решался,но я решил его задать здесьУ меня есть два файла sql

107
Как сделать, чтобы при выходе из браузера не выходило с аккаунта

Как сделать, чтобы при выходе из браузера не выходило с аккаунта

Я хочу, чтобы при закрытии браузера пользователь оставался авторизованным (на примере ВКонтакте)Как это реализовать? (Желательно чуть-чуть...

107