Автозапуск запуска в мобильных браузерах [дубликат]

Прежде всего, у вас есть понятие хэширования немного неправильно, и он был исправлен г-ном Санджаем.

И да, Java действительно реализует технику разрешения конфликтов. Когда два ключа получают хэшированные до одного и того же значения (поскольку используемый внутренний массив конечен по размеру, и в какой-то момент метод hashcode () возвращает одно и то же значение хэша для двух разных ключей) в это время связанный список формируется в ведре где вся информация вводится как объект Map.Entry, содержащий пару ключ-значение. Доступ к объекту с помощью ключа в худшем случае требует O (n), если запись присутствует в таких списках. Сравнение ключа, которое вы передали с каждым ключом в таком списке, будет выполняться методом equals ().

Хотя из Java 8 связанные списки заменяются деревьями (O (log n))

13
задан Lakshya 17 January 2016 в 13:27
поделиться

2 ответа

Невозможно запустить автозапуск в мобильных браузерах. (Это недопустимо)

Но некоторые трюки делают это.

Нажмите на ссылки ниже, чтобы просмотреть некоторые трюки

Автовоспроизведение аудио на мобильном сафари

Особенности iOS | Атрибут Loop

7
ответ дан Community 26 August 2018 в 07:57
поделиться

Вы можете воспроизводить звук с помощью API AudioContext и брать источник из любого ArrayBuffer (т. е. из XMLHttpRequest или File)

    window.addEventListener('load', function () {
        var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
        var source = audioCtx.createBufferSource();
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'audio-autoplay.wav');
        xhr.responseType = 'arraybuffer';
        xhr.addEventListener('load', function (r) {
            audioCtx.decodeAudioData(
                    xhr.response, 
                    function (buffer) {
                        source.buffer = buffer;
                        source.connect(audioCtx.destination);
                        source.loop = false;
                    });
            source.start(0);
        });
        xhr.send();
    });

Пример в реальном времени

Работает на Chrome и Firefox как на мобильном, так и на рабочем столе

Важные замечания

Стоит упомянуть, IMO , что этот «трюк» может фактически рассматриваться как ошибка браузера и может перестать работать в любое время, если браузер решит, что это нарушает работу пользователя / становится широко используемым раздражением (например, объявлениями).

Также стоит упомянуть, что по крайней мере на моем мобильном телефоне и FF 54 звук будет воспроизводиться, даже если ваш телефон отключен ...

Также стоит отметить, что пользователь может установить autoplay, чтобы соответствовать их пожеланиям и потребностям либо через обычные параметры браузера, либо через более продвинутую страницу about:config (поведение autoplay задается настройками Firefox media.autoplay.enabled и media.block-autoplay-until-in-foreground).

Так что форсирование звука autoplay является плохой идеей UX независимо от того, как вы это делаете.

10
ответ дан Xenos 26 August 2018 в 07:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: