J'essaye de créer un service REST simple pour servir des fichiers audio (avec support de recherche). J'utilise cet exemple qui est basé sur Jersey: https://github.com/aruld/jersey-streaming/tree/jersey2Spark java Serving fichier mp3 (dynamique avec seek)
Ceci est un exemple très simple, il écoute demandes GET et HEAD utilisés par les navigateurs, recherchez l'en-tête de gamme et répondre avec 206 plus les archives tranche demandée (avec des plages d'octets). La capture ici est que je réécris ceci sur l'étincelle java (un cadre minuscule avec un serveur embarqué de jetée).
Tout semble être OK. Le navigateur envoie le GET et le serveur crée la réponse en conséquence ... bien que le joueur ne charge jamais et ne joue rien. La demande est faite et l'en-tête de réponse est parfaite:
Demande:
Host: localhost:4567
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5
Accept-Language: en-US,en;q=0.5
Range: bytes=0-
Connection: keep-alive
Réponse:
Accept-Ranges: bytes
Content-Length: 1048577
Content-Range: bytes 0-1048576/5563904
Content-Type: audio/mp3
Date: Sat, 20 Aug 2016 05:41:23 GMT
Last-Modified: Sat Aug 20 01:12:37 BRT 2016
Server: Jetty(9.3.6.v20151106)
sasd
Une chose que je remarque est que le transfert semble pour cette demande ne se termine jamais. Lorsque je ferme le serveur, le transfert se termine à 0,03 Ko (toujours).
Ma preuve de code application concept: http://pastebin.com/xjkLne7E