¿Por qué la transmisión de audio en Mobile Safari a veces no tiene una barra de desplazamiento?

3

Por lo general, si hago clic en un enlace a un mp3 en Safari en el iPhone, se verá así:

Peroaveces,seveasí,sinbarradedesplazamiento:

¿Qué indica esto acerca de la diferencia entre los archivos? ¿Está relacionado con un problema de configuración del servidor?

    
pregunta shanebonham 29.03.2011 - 04:18

2 respuestas

2

Esta fue la respuesta proporcionada por el soporte de Rackspace Cloud Sites:

  

Nuestros servidores no pueden transmitir archivos de medios   así que abriendo un archivo multimedia como un mp3   sería reproducido usando un método   llamada descarga progresiva dentro de una   navegador o dispositivo El seguimiento   artículo describe progresiva   descargando    enlace

     

Básicamente, el reproductor multimedia   Descarga el archivo de principio a fin.   y te permite jugar la parte de   El archivo que se ha descargado. iOS   dispositivos, como muchos otros móviles   Los dispositivos, están limitados en memoria así que   dejar de descargar el archivo después de su   El búfer interno está lleno para que pueda   conserva lo precioso que es la pequeña memoria RAM   tiene disponible Aunque la descarga   se detiene, el dispositivo continuará   reproducir la parte del archivo multimedia   ha descargado hasta ahora. Una vez el   dispositivo se acerca al final de la   datos descargados una nueva solicitud HTTP es   enviado a reanudar la descarga de la   archivo multimedia para que la reproducción sea   ininterrumpido. Una vez que la descarga de   Se reanudan nuevos datos, comienza el ciclo.   de nuevo con el dispositivo en pausa cuando su   el búfer está lleno.

     

En el caso de este archivo, el curriculum vitae   paso está fallando como descarga de archivos   reanudar no es compatible con los medios   archivos dentro de nuestros sistemas como puede ser   vistos por "Aceptar-Rangos: bytes" no   estar presente dentro de los encabezados de   La respuesta HTTP para este archivo:

HTTP/1.1 200 OK Server: Apache/2.2
Content-Type: audio/mpeg
Last-Modified: Tue, 29 Mar 2011
16:27:10 GMT Content-Length: 11226282
Date: Tue, 29 Mar 2011 22:00:33 GMT
X-Varnish: 1663119465 1663112299 Age:
73 Connection: keep-alive Via: 1.1
varnish 172.17.0.138 X-Cache: HIT
     

Más información sobre "Rangos de aceptación:   bytes "se pueden encontrar en la sección 14.5   aquí:    enlace

     

La reanudación de archivos no es compatible con esto   Solicitud HTTP ya que esta solicitud HTTP es   no siendo atendido por Apache, sino a través de   los servidores de barniz de caché dentro de nuestra   Grupo acelerador de medios. Expediente   el curriculum vitae es compatible con Apache   inherentemente Una lista de archivos en caché   Dentro de nuestros sistemas por nuestro Barniz.   servidores, así como más información sobre   nuestro acelerador de medios se puede encontrar   aquí:    enlace

     

Las solicitudes HTTP solo se enrutan a   Acelerador de medios cuando el HTTP   solicitud termina en uno de estos archivos   extensiones Si una cadena de consulta es   añadido al final de la URL o si el   URL se hace a un archivo diferente   extensión, entonces la solicitud HTTP es   Servido por Apache como se puede ver desde   los siguientes dos conjuntos de encabezados:

$ curl -I
'http://flex.ekk360.com/judas-and-pilate.mp3?1'
HTTP/1.1 200 OK Server: Apache/2.2
Content-Type: audio/mpeg Date: Tue, 29
Mar 2011 21:41:56 GMT Accept-Ranges:
bytes Connection: Keep-Alive
Set-Cookie:
X-Mapping-hpadogcb=018693E96D995C67FDE4A82FC7761170;
path=/ Last-Modified: Tue, 29 Mar 2011
16:27:10 GMT Content-Length: 11226282

$ curl -I
'http://flex.ekk360.com/judas-and-pilate.mp_'
HTTP/1.1 404 Not Found Server:
Apache/2.2 Content-Type: text/html;
charset=iso-8859-1 Date: Tue, 29 Mar
2011 22:12:29 GMT Transfer-Encoding:
chunked Connection: Keep-Alive
Set-Cookie:
X-Mapping-hpadogcb=381D7664F27DBFFB6452A51D70DEDB28;
path=/
     

Para que este archivo sea transmitido   adecuadamente desde nuestros servidores, los medios   Acelerador debe ser evitado por tener   el dispositivo utiliza una URL como   "http://flex.ekk360.com/judas-and-pilate.mp3?1"   o cambiando el nombre del archivo y agregando una   tipo mime personalizado a su sitio para que   el dispositivo abre el archivo con el   reproductor multimedia. Una alternativa seria   para alojar el archivo a través de un CDN como   Archivos en la nube o Amazon S3.

    
respondido por el shanebonham 25.04.2011 - 18:40
4

La diferencia debe ser un archivo estático con una longitud de contenido definida, en comparación con una transmisión de shoutcast o un servidor que no sirvió una longitud de contenido con un archivo.

Si el jugador no sabe qué tan grande es un archivo, no puede recuperar el final para recopilar metadatos (en particular, la duración de la canción) y presentar el scrubber para buscar.

[editar]
Salida de encabezado cURL:

$ curl -I "http://demo.ekklesia360.com/judas-and-pilate.mp3"
HTTP/1.1 200 OK
Date: Tue, 29 Mar 2011 21:59:15 GMT
Server: Apache/2.2.3 (Red Hat)
Last-Modified: Tue, 29 Mar 2011 16:25:33 GMT
ETag: "8b30001-ab4caa-49fa182643940"
Accept-Ranges: bytes
Content-Length: 11226282
Connection: close
Content-Type: audio/mpeg

$ curl -I "http://flex.ekk360.com/judas-and-pilate.mp3"
HTTP/1.1 200 OK
Server: Apache/2.2
Content-Type: audio/mpeg
Last-Modified: Tue, 29 Mar 2011 16:27:10 GMT
Content-Length: 11226282
Date: Tue, 29 Mar 2011 21:59:20 GMT
Age: 0
Connection: keep-alive
Via: 1.1 varnish 172.17.0.138

En el último archivo (a través de flex), observo una falta de "Rangos de aceptación" y un tipo de "Conexión" de "keep-alive".

Esto me dice que;
(1) que Safari (/ QuickTime?) Probablemente no emitirá una solicitud de rango de bytes para el final del archivo para leer los datos ID3, o; (2) No hay depurador porque "Connection: keep-alive" significa que los nuevos datos pueden caer por la tubería, así que mantenga el socket abierto para recibirlo en algún momento.

    
respondido por el Jason Salaz 29.03.2011 - 04:52

Lea otras preguntas en las etiquetas