Проблема с функцией php «эхо» аудиофайла в Firefox - PullRequest
0 голосов
/ 09 апреля 2020

Я создал небольшую функцию, которая воспроизводит мне аудиофайл в зависимости от количества уведомлений, полученных пользователем. Я поместил эту функцию в нижний колонтитул WordPress.

Вот код:

function custom_um_notification_sound() {
       $uno = "<audio src='https://www.example.com/note1itaen1.mp3' autoplay></audio>";
    $due = "<audio src='https://www.example.com/note1itaen2.mp3' autoplay></audio>";
    $tre = "<audio src='https://www.example.com/note1itaen3.mp3' autoplay></audio>";
    $quattro = "<audio src='https://www.example.com/note1itaen4.mp3' autoplay></audio>";
    $cinque = "<audio src='https://www.example.com/note1itaen5.mp3' autoplay></audio>";
    $new = "<audio src='https://www.example.com/note1itaenall.mp3' autoplay></audio>";
       $unread = (int)UM()->Notifications_API()->api()->get_notifications( 0, 'unread', true );

    if ( !is_user_logged_in() ) {
        return;
    }

   if (!isset($_COOKIE['notifaudio'])) {
        if ( $unread == 1 ) {
        echo $uno;
         setcookie("notifaudio", "notiaudio", time()+3600, COOKIEPATH, COOKIE_DOMAIN );
        }
        if ( $unread === 2 ) {
        echo $due;
          setcookie("notifaudio", "notiaudio", time()+3600, COOKIEPATH, COOKIE_DOMAIN );
        }
        if ( $unread === 3 ) {
        echo $tre;
          setcookie("notifaudio", "notiaudio", time()+3600, COOKIEPATH, COOKIE_DOMAIN );
        }
        if ( $unread === 4 ) {
        echo $quattro;
          setcookie("notifaudio", "notiaudio", time()+3600, COOKIEPATH, COOKIE_DOMAIN );
        }
        if ( $unread === 5 ) {
        echo $cinque;
          setcookie("notifaudio", "notiaudio", time()+3600, COOKIEPATH, COOKIE_DOMAIN );
        }
        if ( $unread > 5 ) {
        echo $new;
        setcookie("notifaudio", "notiaudio", time()+3600, COOKIEPATH, COOKIE_DOMAIN );
        }   
    } 
}
add_action( 'wp_footer', 'custom_um_notification_sound', 9999 );

Функция отлично работает в Chrome и Safari, но не работает в Firefox , Кто-нибудь может мне помочь? У вас есть какое-то решение для решения проблемы? Извините за мой английский sh. Спасибо всем.

1 Ответ

2 голосов
/ 10 апреля 2020

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

Другие браузеры также блокируют автозапуск в зависимости от обстоятельств. Например, Chrome и WebKit имеют собственные политики. Обычно для этого требуется некоторое взаимодействие с пользователем, прежде чем разрешить автоигру.

Я бы посоветовал прочитать Руководство по автозапуску для медиа и API веб-аудио в MDN, чтобы получить некоторый контекст о текущих барьерах и ограничениях для автозапуск и некоторые возможные обходные пути.

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