"/ MPEG Audio" api corriente de falla por algunos archivos juega algunos archivos?

PCJ:

Estamos grabando algunos audios en los teléfonos Android, que están teniendo el siguiente formato según la información VLC:

Codec: MPEG AAC Audio (mp4a)
Language: English
Type: Audio
Channels: Stereo
Sample rate: 32000 Hz
Bits per sample: 32

Los archivos anteriores no estaban jugando en el navegador Safari con el tipo mime audio/mpeg, pero tan pronto como cambiamos la mímica para audio/mp4que empezó a jugar en el navegador Safari. Para Android que estamos utilizando la API para transmitir este archivo usando recursos de la API de la siguiente manera:

@GET
    @UnitOfWork
    @Produces("audio/mpeg")
    @Path("/getaudiofile/{fileId}")
    public Response getPart(@Auth AuthUser authUser, @PathParam("fileId") Long fileId) {

 File audioFile = new File(filesTableDAO.getFilePathById(fileId));

if(audioFile.exists()) {
return Response.ok().entity(audioFile).build();
} else {
// ... Return 404 here
}

}

Pero con API por encima de algunos archivos consiguiendo jugaron y algunos no lo son, igual que en el caso anterior Safari. Pero el problema se fue de safari ASAP cambiamos mímica para "audio/mp4"o "video/mp4"tanto el trabajo de tipo MIME.

Pero para la API de /getaudiofile/{fileId}ninguno de los siguientes tipos MIME trabajado con el javax.ws.rs @Producesannotaion:

    audio/mp4
    video/mp4
    audio/mpeg
    audio/m4a
    audio/mpeg-4
audio/mp4a

Pero con audio/mpegalgunos de los archivos de juego, pero algunos no lo hacen.

Lo que puede ser el tipo MIME correcto o puede presentar establecer el códec o mimo información en sí cuando regresaba de la API?

O ¿Hay alguna manera de hacer que Android Media Player tipo MIME cuenta? Al igual que la etiqueta html .

Tenemos el contenido del archivo de emisión continua de MIME "audio / mpeg", el reproductor multimedia reproduce archivos de menor tamaño con facilidad. Pero más grande contenido de transmisión no se reproduce por ejemplo, 10 - 20 MB.

Problema con la URL de la transmisión el jugador no recibe cualquier extensión mp3 mimo por ejemplo, o mp4. Por lo tanto queremos que el reproductor de medios para saber de antemano qué tipo de contenido que se está transmitiendo.

¿El establecimiento de tipo mime a instancia del reproductor antes de jugar soporte de la API MediaPlayer?

Actualizar

1] Esto está sucediendo para los archivos con grandes tamaños de archivos pequeños juegan muy bien, una grabación de unos segundos (1-50 segundos) el juego sin ningún problema, un archivo de grabación con la duración de la reproducción de más de hora no se reproduce.

2] Cuando se juega desde la reproducción URL autenticado falla si el mismo archivo es el sistema de archivos local juega sin problemas.

PCJ:

https://github.com/aruld/jersey-streaming

Por encima de proyecto por Arul Dhesiaseelan resuelto mi problema, La forma en que escribió get archivo de recursos no fue eficiente, por encima de GitHub En proyecto toma mirada en MediaResource.java .

Esta es la forma correcta de streaming de archivos multimedia, Ajuste tipos MIME como por su archivo.

Me puse a cabeceras reproductor multimedia de la siguiente manera:

Map<String, String> headers = new HashMap<>();
            headers.put("Authorization", "Basic <BASE64_ENCODED_AUTH_TOKEN>");
            headers.put("Accept-Ranges", "bytes");
            headers.put("Status", "206");
            headers.put("Cache-control", "no-cache");

            Uri uri = Uri.parse(url);
            mediaPlayer.setDataSource(getContext(), uri, headers);

Ahora soy capaz de transmitir contenido multimedia con la autenticación.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=221013&siteId=1
Recomendado
Clasificación