Chcę zacząć od stwierdzenia, że zdaję sobie sprawę, że to pytanie jest stare i ma już zaakceptowaną odpowiedź; ale jako nieszczęsny internauta, który użył tego pytania jako środka do zakończenia tylko po to, aby wkrótce potem udowodnić, że się mylę (ale nie zanim trochę zdenerwuję mojego klienta), chcę dodać moje przemyślenia i sugestie.
Chociaż @DSG i @Giona mają rację i nie ma nic złego w ich odpowiedziach, istnieje kreatywny mechanizm, który możesz wykorzystać, aby „ominąć”, że tak powiem, to ograniczenie. Nie oznacza to, że akceptuję obejście tej funkcji, wręcz przeciwnie, ale tylko niektóre mechanizmy, dzięki którym użytkownik nadal „czuje się” tak, jakby plik wideo lub audio „odtwarzał się automatycznie”.
Szybkim obejściem jest ukrycie tagu wideo gdzieś na stronie mobilnej, ponieważ zbudowałem responsywną witrynę, robię to tylko dla mniejszych ekranów. Tag wideo (przykłady HTML i 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"
});
Mając to ukryte na stronie, gdy użytkownik „klika”, aby obejrzeć film (nadal interakcja użytkownika, nie ma sposobu, aby obejść to wymaganie) zamiast przejść do drugiej strony odtwarzania, wczytuję ukryty film. Działa to głównie dlatego, że tag media nie jest tak naprawdę używany, ale zamiast tego jest promowany do instancji Quicktime, więc posiadanie widocznego elementu wideo nie jest wcale konieczne. W programie obsługi dla „kliknięcia” (lub „dotknięcia” na telefonie komórkowym).
$(".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();
});
I altówkę. Jeśli chodzi o UX, użytkownik klika wideo, aby odtworzyć, a Quicktime otwiera, odtwarzając wybrany przez siebie film. Pozostaje to w ramach ograniczenia, że filmy można odtwarzać tylko w wyniku działania użytkownika, więc nie narzucam danych nikomu, kto nie decyduje się na oglądanie wideo za pomocą tej usługi. Odkryłem to, próbując dowiedzieć się, jak dokładnie YouTube wyciągnął to z ich telefonu komórkowego, który jest w zasadzie naprawdę ładnym budowaniem strony JavaScript i fantazyjnym elementem ukrywającym się, jak w przypadku tagu wideo.
tl; dr Oto swego rodzaju „obejście” polegające na próbie utworzenia funkcji „autoodtwarzania” UX na urządzeniach z systemem iOS bez przekraczania ograniczeń Apple i pozostawiania użytkownikom decyzji, czy chcą oglądać wideo (lub dźwięk najbardziej lubi, chociaż ja nie zostały przetestowane) bez załadowania jednego bez ich zgody.
Również dla osoby, która skomentowała, że pochodzi z sleep.fm, niestety nie byłoby to rozwiązaniem problemów, które polegają na odtwarzaniu dźwięku w oparciu o czas.
Mam nadzieję, że ktoś uzna te informacje za przydatne, zaoszczędziłoby mi to tydzień dostarczania złych wiadomości do klienta, który był nieugięty, że ma tę funkcję i byłem zadowolony, że w końcu znalazłem sposób na jej dostarczenie.
EDYTOWAĆ
Dalsze ustalenia wskazują, że powyższe obejście dotyczy tylko urządzeń iPhone / iPod. IPad odtwarza wideo w Safari, zanim zostanie wyświetlony w trybie pełnego ekranu, więc będziesz potrzebować mechanizmu zmiany rozmiaru wideo po kliknięciu przed odtworzeniem, w przeciwnym razie skończysz z dźwiękiem i bez wideo.