Я хочу начать с того, что я понимаю, что этот вопрос старый и уже имеет принятый ответ; но, как несчастный пользователь Интернета, который использовал этот вопрос как средство завершения, но вскоре после этого оказался неправ (но не раньше, чем я немного расстроил своего клиента), я хочу добавить свои мысли и предложения.
Хотя @DSG и @Giona верны и в их ответах нет ничего плохого, есть творческий механизм, который вы можете использовать, чтобы, так сказать, «обойти» это ограничение. Это не означает, что я потворствую обходу этой функции, как раз наоборот, это просто некоторые механизмы, позволяющие пользователю по-прежнему «чувствовать», как будто видео или аудиофайл «воспроизводится автоматически».
Быстрая работа - спрятать видеотег где-нибудь на мобильной странице, поскольку я создал адаптивный сайт, я делаю это только для небольших экранов. Тег видео (примеры HTML и jQuery):
HTML
<video id="dummyVideo" src="" preload="none" width="1" height="2"></video>
JQuery
var $dummyVideo = $("<video />", {
id: "dummyVideo",
src: "",
preload: "none",
width: "1",
height: "2"
});
Когда это скрыто на странице, когда пользователь «щелкает», чтобы посмотреть фильм (все еще взаимодействие с пользователем, это требование невозможно обойти) вместо перехода на дополнительную страницу просмотра, я загружаю скрытое видео. В основном это работает, потому что тег мультимедиа на самом деле не используется, а вместо этого повышается до экземпляра Quicktime, поэтому наличие видимого элемента видео вообще не требуется. В обработчике для "клика" (или "таченд" на мобильном телефоне).
$(".movie-container").on("click", function() {
var url = $(this).data("stream-url");
$dummyVideo.attr("src", url);
$dummyVideo.get(0).load(); // required if src changed after page load
$dummyVideo.get(0).play();
});
И альт. Что касается UX, пользователь нажимает на видео для воспроизведения, и Quicktime начинает воспроизведение выбранного видео. Это остается в пределах ограничения, что видео можно воспроизводить только с помощью действий пользователя, поэтому я не навязываю данные никому, кто не решает смотреть видео с помощью этой службы. Я обнаружил это, когда пытался выяснить, как именно Youtube справился с этим со своим мобильным телефоном, который, по сути, представляет собой действительно хорошее построение страницы Javascript и скрытие причудливых элементов, как в случае с тегом видео.
tl; dr Вот несколько «обходной путь», чтобы попытаться создать UX-функцию «автовоспроизведение» на устройствах iOS, не выходя за рамки ограничений Apple, и при этом пользователи должны решать, хотят ли они смотреть видео (или аудио, скорее всего, хотя я не тестировал), не загрузив его без их разрешения.
Кроме того, для человека, который прокомментировал это с сайта sleep.fm, это, к сожалению, не было бы решением ваших проблем, связанных с воспроизведением звука по времени.
Я надеюсь, что кто-то сочтет эту информацию полезной, это сэкономило бы мне неделю доставки плохих новостей клиенту, который был непреклонен в том, что у него есть эта функция, и я был рад найти способ доставить ее в конце.
РЕДАКТИРОВАТЬ
Дальнейшие исследования показывают, что вышеуказанный обходной путь предназначен только для устройств iPhone / iPod. IPad воспроизводит видео в Safari до того, как оно будет полноэкранным, поэтому вам понадобится какой-то механизм для изменения размера видео при нажатии перед воспроизведением, иначе у вас будет звук, а не видео.