Chcemy stworzyć opartą na dźwięku aplikację internetową, która będzie zawierała wiele fragmentów dźwiękowych. Chcemy buforować te pliki, aby wydajność była dobra i nie zależała od szybkości sieci. Czy pamięć podręczna HTML5 może być w trybie offline?Czy HTML5 będzie obsługiwał dostęp do pamięci podręcznej w trybie offline?
Odpowiedz
pewnością wydaje mi się, że ten powinny praca, i nie mogę znaleźć żadnej dokumentacji, która mówi, że nie powinna pracować (albo z W3C lub od producentów takich jak Apple), ale umieszczenie plików audio jako zasobów Manifest pamięci podręcznej po prostu nie działa z Safari na co najmniej iPhonie w rozmiarze &.
Dźwięki są odtwarzane poprawnie, gdy aplikacja jest w trybie online (chociaż wydaje się, że ładują je od nowa za każdym razem i nie buforują ich) i nie narzeka na brak zasobów w trybie offline (co jest natychmiast zapomniałeś dołączyć JavaScript, CSS, HTML lub zasobów graficznych).
Zamiast narzekać (lub obciążenia); jeśli element ma kontrolę, że sterowanie jest zastąpione przez pole z napisem "Nie można odtworzyć pliku audio.". Alternatywnie, jeśli jest to element bez kontroli - tj. Dostęp przez JavaScript do .play() - to po prostu nie gra (nie powoduje żadnych błędów, po prostu nie ma dźwięku, JavaScript nadal działa normalnie).
Przetestowałem to z całkiem małymi (< 20k) plikami, a wynik jest taki sam, więc nie wydaje się być związany z wielkością, tylko ogólną odmową kopiowania.
Nie jestem pewien, czy można zakodować dźwięk jako zasób na stronie (np zakodowany w base64) w sposób, jak z obrazami, ale mam zamiar zbadać tę opcję - Podejrzewam, że byłoby to możliwe.
Próbowałem kodowania danych audio, jak URI danych ciągów i nawet próbowała generowania dźwięku w locie - zarówno drobnych prac w Safari na pulpicie, ale nie działa na iPhone/iPad OS (przynajmniej w wersji 3.x - nie próbowałem w systemie iOS 4, ale nie będzie dostępny przez tydzień i nie będzie oczekiwany na iPada przez kilka miesięcy, nawet jeśli go naprawią).
Przypuszczam odmowę buforowania plików dźwiękowych w iOS jest bug realizacja lub przeznaczone ograniczoną funkcjonalność. Jest to na pewno denerwujące i pokazuje korek na wiele przypadków użycia.
Nie jestem pewien, co się dzieje z innymi klientami HTML5, byłbym zainteresowany, aby wiedzieć (w szczególności na Andriod). Wsparcie Google dla dźwięku również nie było wspaniałe, więc może cierpieć z powodu tych samych ograniczeń.
Można zawsze stworzyć warstwę dekodowanie/kodowanie, który mówi do klienta SQLlite DB
Nie ma limitu 5 meg do przechowywania jednej aplikacji? –
Nie widzę żadnego powodu, dla którego nie można określić pliki audio w cache manifest.
Wygląda na to, że mogą wystąpić problemy, zobacz tutaj: http://stackoverflow.com/questions/1612116/html5-local-storage-of-audio-element-source-is-it-possible – UpTheCreek
- 1. Używanie pamięci podręcznej aplikacji tylko w trybie offline
- 2. Symulacja trybu offline do testowania pamięci podręcznej HTML5
- 3. Użyj pamięci podręcznej ServiceWorker tylko w trybie offline.
- 4. HTML5 pamięć podręczna w trybie offline programowa wygasanie
- 5. Pharo Gofer, czy może wrócić do lokalnej pamięci podręcznej pakietów w trybie offline?
- 6. Czy phonegap obsługuje manifest pamięci podręcznej magazynu offline?
- 7. Pisanie aplikacji do pracy w trybie offline (aplikacja internetowa)
- 8. Plik manifestu pamięci podręcznej Html5 w UIWebView?
- 9. Ładowanie pamięci podręcznej w trybie offline w przeglądarce Android Web View
- 10. Jak zaimplementować aplikację do obsługi pojedynczej strony w trybie offline z Breeze.js i lokalną pamięcią HTML5
- 11. Uzyskiwanie dostępu do plików w pamięci podręcznej rozproszonej pamięci podręcznej
- 12. Używanie elektronu i offline HTML5 do aplikacji offline
- 13. Buforowanie offline HTML5
- 14. Przesyłanie plików w aplikacjach offline HTML5
- 15. Czy można dołączyć zewnętrzne pliki do manifestu pamięci podręcznej?
- 16. HTML5 cache offline czcionka google api
- 17. Pobieranie określonych map do pamięci podręcznej w OSMDroid
- 18. HTML5 Offline Manifest Zatrzymaj buforowanie strony To jest zadeklarowane na
- 19. Ustal, czy lokalizacja pamięci znajduje się w pamięci podręcznej CPU
- 20. Usługa pamięci podręcznej w pamięci podręcznej - Tridion 2011 SP1
- 21. Czy Chrome ma opcję "Pracuj w trybie offline"?
- 22. Jak prawidłowo unieważnić Manifest w pamięci podręcznej HTML5 dla internetowych aplikacji internetowych?
- 23. Plik manifestu HTML5 nie czyści pamięci podręcznej po zmianie manifestu
- 24. Czy mogę używać zadania NSURLSessionUploadTask do synchronizowania w trybie offline?
- 25. Dokumenty MDN javascript do użytku w trybie offline
- 26. Praca z obrazami w aplikacji offline HTML5?
- 27. Cache offline w trybie offline z witrynami php
- 28. Jak zbudować aplikację internetową w trybie offline za pomocą kolby?
- 29. Czy file_get_contents używa pamięci podręcznej?
- 30. W jaki sposób mogę zrobić przeglądanie internetowe za pomocą manifestu pamięci podręcznej HTML5?
FYI powód JavaScript .play() nie działa na sterowanie mniej elementem, ponieważ jest zabronione w safari dla iPhone/iPad (musi być wprowadzane przez użytkownika). Co do "Nie można odtworzyć pliku audio", okazało się, że tak się dzieje, ponieważ plik nie był obsługiwany. Zdarzyło się to z pewnymi plikami mp3, z jakiegoś powodu. –
@jd Dzięki, ale, aby wyjaśnić, widzę, że JavaScript faktycznie działa poprawnie, ale TYLKO jeśli masz szybką łączność (jeśli jest wolna, jest przerywana, ponieważ ciągle pobiera pliki dźwiękowe). Manifest pamięci podręcznej nie jest po prostu honorowany w przypadku plików dźwiękowych w aplikacjach HTML5 offline - przy połączeniach połączenia JavaScript działają (i działają wszystkie pliki dźwiękowe). Wygląda na to, niezależnie od wielkości pliku. –
Dzięki za napisanie tego. Właśnie to przetestowałem i jest to zgodne z tym, co powiedziałeś. Big Bummer. – airportyh