Birçok ses parçacığına sahip olacak, ses tabanlı web tabanlı bir uygulama yapmak istiyoruz. Bu dosyaları önbelleğe almak istiyoruz, böylece performans iyi ve ağ hızına bağlı değil. HTML5 çevrimdışı mod için önbellek yapabilir mi?HTML5 çevrimdışı önbellek sesinin erişimini destekleyecek mi?
cevap
Bu 'un çalışması gerektiğini kesinlikle bana gösteriyor ve işe yaramadığı (W3C'den veya Apple gibi satıcılardan), ancak ses dosyalarını Önbellek manifestosu, en azından iPad'de & iPhone'da Safari ile çalışmıyor gibi görünüyor.
Sesler, uygulama çevrimiçi olduğunda (her defasında yeni bir tane yüklüyormuş gibi görünüyor ve onları önbelleğe almıyor gibi görünüyorsa) iyi çalışıyor ve çevrimdışı modda iken bulunmayan kaynaklardan şikayet etmiyor (hemen Bir JavaScript, CSS, HTML veya resim kaynağı eklemeyi unutmayın). Şikayet etmek yerine (veya yükleniyor); Öğe, kontrolün "Ses dosyası yürütülemiyor" yazan bir kutu ile değiştirildiği bir kontrole sahipse. Alternatif olarak, eğer kontrolsüz bir elemansa - yani .play() - JavaScript ile erişilirse o zaman sadece çalmaz (herhangi bir hataya neden olmaz, sadece ses yoktur, JavaScript aksi halde devam eder) normalde).
Bunu oldukça küçük (< 20k) dosyaları ile test ettim ve sonuç aynı, dolayısıyla boyutla ilgili görünmüyor, yalnızca kopyalamayı reddeden bir battaniye.
Sayfadaki sesi kaynak olarak kodlayabildiğinizden emin değilim (örneğin base64'te kodlanmış), ancak bu seçeneği araştıracağım - bunun mümkün olabileceğinden şüpheleniyorum.
Veri URI dizeleri olarak ses verilerini kodlamayı denedim ve hatta ses üretmeyi denedim - her ikisi de masaüstünde Safari'de iyi çalışıyor ancak iPhone/iPad işletim sisteminde çalışmaz (en azından 3.x sürümünde - Denemedim iOS 4'te, ancak bir hafta boyunca çıkmayacak ve bir kaç ay boyunca iPad için bunu düzeltmez, hatta düzeltmezlerse bile).
iOS'ta ses dosyalarını önbelleğe almayı reddetmenin bir uygulama hatası mı yoksa amaçlanan sınırlı işlevsellik olduğunu tahmin ediyorum. Bir çok kullanım davası için kesinlikle can sıkıcı ve gösteriş durdurucu.
Diğer HTML5 istemcilerle olanları bildiğimden emin değilim (özellikle Andriod'da). Google’ın ses desteği de yıldızsızdı, dolayısıyla aynı sınırlamalardan muzdarip olabilir.
Hep istemci SQLLite DB
Uygulama başına depolama için 5 meg limit yok mu? –
Sana cache manifest ses dosyalarını belirleyemezsiniz bir neden görmüyorum konuşur bir kod çözme/kodlama katmanı geliştirebilir.
Sorunlar var gibi görünüyor, buraya bakın: http://stackoverflow.com/questions/1612116/html5-local-storage-of-audio-element-source-is-it-possible – UpTheCreek
- 1. HTML5 çevrimdışı önbellek google font api
- 2. HTML5 çevrimdışı önbellek programlı son kullanma
- 3. HTML5 Önbellek Testi için Çevrimdışı Modunu Simüle Etme
- 4. HTML5 çevrimdışı önbellekleme
- 5. HTML5 appcache'de önbellek php sayfaları
- 6. HTML5 sesinin ses yüksekliği nasıl ayarlanır?
- 7. nw.js html5 uygulama önbellek boyutu (düğüm-webkit)
- 8. HTML5 Yeni Önbellek
- 9. HTML5 çevrimdışı uygulamalarda dosya yükleme
- 10. C++ 14 kısıtlanmamış genel işlevleri destekleyecek mi?
- 11. Dart, sunucu tarafında geliştirmeyi destekleyecek mi?
- 12. Dart, mevcut JavaScript kitaplıklarının kullanımını destekleyecek mi?
- 13. HTML5 sesinin yükleme sırasında önceden yükleme/akıştan nasıl önlenmesi gerekir?
- 14. html5 php ile sürülen sitelerle çevrimdışı önbellekleme
- 15. UIWebView HTML5 çevrimdışı dosyaları nerede saklar?
- 16. HTML5 sessionStorage diske yazılabilir mi?
- 17. Microsoft Edge, COM otomasyonunu (InternetExplorer nesnesi) destekleyecek mi?
- 18. Samsung, Google'ın parmak izi API'sını Marshmallow'dan destekleyecek mi?
- 19. iPad için UIWebview kullanarak çevrimdışı uygulama
- 20. - erişimini kullanarak
- 21. HTA'lar HTML5 IndexedDB kullanabilir mi?
- 22. Çevrimdışı iptal modu
- 23. Atomik talimatlar önbellek çizgilerini taşıyabilir mi?
- 24. MVC İşlemleri için URL'ye Göre Önbellek mi?
- 25. Önbellek denetimi üstbilgileri; geçerli mi, değil mi? (Nginx)
- 26. Kullanıcı erişimini MySQL
- 27. CRM 2011 Çevrimiçi Eklenti Yükleyici destekleyecek CI
- 28. çevrimdışı belge
- 29. Birisi HTML5 aria- * özniteliğini açıklayabilir mi?
- 30. HTML5 kanvas, görüntü çokgende/çokgen olabilir mi?
FYI nedeni JavaScript .play() kontrol üzerinde çalışmaz daha az eleman çünkü iphone/ipad için safari izin verilmez (kullanıcı girişi olmalı). "Ses dosyası çalınılamıyor" söz konusu olduğunda, dosyanın desteklenmediğinden dolayı bunu buldum. Bu bazı sebeplerle belli mp3 dosyaları ile başıma geldi. –
@jd Teşekkürler, ama açıklığa kavuşturmak için, gördüğüm JavaScript aslında iyi çalışır, ancak SADECE (hızlı) bağlantı varsa (yavaşsa, aralıklı, çünkü bu ses dosyalarını yeniden getirmeyi tutar). Önbellek bildirimi, çevrimdışı HTML5 uygulamalarındaki ses dosyaları için onurlandırılmamıştır - bağlantı sayesinde JavaScript çağrıları çalışır (ve tüm ses dosyaları çalışır). Bu, dosya boyutundan bağımsız olarak görünüyor. –
Bu yazdığınız için teşekkürler. Sadece kendim test ettim ve söylediklerinizle tutarlı. Büyük serseri. – airportyh