Udostępnianie danych audio z serwletu Java w celu sterowania dźwiękiem HTML5

Może to być pytanie Serwletów lub pytanie HTML5, w zależności od tego, jakie rozwiązanie okaże się ... :)

Mam serwlet (Tomcat) obsługujący krótkie klipy audio, które są następnie pobierane w elemencie audio HTML5. Dźwięk jest poprawnie odtwarzany, ale w niektórych przeglądarkach tylko raz (więc próba „przewinięcia” lub odtworzenia dźwięku nie działa). Podejrzewam, że dzieje się tak, ponieważ mój serwlet nie zgłasza, że ​​obsługuje żądania zakresu: zauważam, że dany statyczny plik audio na tym samym serwerze, Apache dodaje nagłówek odpowiedzi „jednostka zasięgu” HTTP, a odtworzenie pliku działa w takim przypadki. Przypuszczam więc, że w przeglądarkach, w których mam problem, aby odtworzyć plik, przeglądarka wykonuje żądanie HTTP Content-Range zamiast buforować cały plik lub ponownie żądać całego pliku. (Przynajmniej w Safari, odtwarzanie odtwarzanego dźwięku z mojego serwletu działa poprawnie: zgaduję, ponieważ Safari buforuje cały dźwięk).

Więc moje pytania:

Czy w HTML jest sposób, aby przeglądarka buforowała cały plik audio podczas grania, aby umożliwić powtórkom, a nie serwerowi, konieczną obsługę żądań zasięgu?

jeśli nie, czy ktoś ma doświadczenie w odpowiadaniu na żądania zakresu z serwletu? Zakładam, że jest to tylko przypadek (a) wysłania kodu odpowiedzi „jednostka zasięgu” w odpowiedzi na początkowe żądanie, a następnie (b) szukanie odpowiednich nagłówków żądań HTTP („Zakres treści?”) (Chyba w jaki sposób są obsługiwane?) na kolejnych żądaniach i obsługują tylko odpowiednią część audio? Czy są jakieś pułapki, o których powinienem wiedzieć?

questionAnswers(1)

yourAnswerToTheQuestion