Crear mediaplayer con inputstream en android

¿Cómo puedo crear la instancia de mediaplayer con inputstream?

Veo sólo 4 función para setDataSource. ¿Y no hay ninguna función que recibe entradas? ¿Es necesario utilizar FileDescriptor en mediaplayer? Parece tan básico. Pero, no pude encontrar un camino. En j2me, hay una función que Manager.createPlayer(InputStream) . Y puede utilizar inputstream para crear un reproductor multimedia. ¿Hay una manera de crear un reproductor multimedia como j2me?

Un acercamiento puede ser escribir su corriente a un File y después darlo al MediaPlayer para la reproducción.

¿Qué hay de hacer un servidor HTTP en el lado receptor (un hilo en el teléfono) que envía los datos del InputStream en cualquier solicitud HTTP al OutputStream del Socket y proporciona MediPlayer con URI http 127.0.0.1: un puerto? QUE ES FEO (pero debería funcionar)

También es posible reproducir audio sin comprimir PCM desde un InputStream en android. Goole él Si usted puede hacer la decodificación en el software con JLayer o algo y la salida como PCMto la interfaz de audio que debe hacer el truco también, pero sin aceleración de hardware.

Elige tu veneno, supongo. Elegí la opción B.

Estoy buscando en este momento (para enviar archivos de película cifrada a MediaPlayer). ¿Estoy equivocado al suponer que FileInputStream.getFD () es la solución a esto? Si usted puede conseguir un FileDescriptor de un FileInputStream (a menos que usted necesite InputStream y no FileInputStream) entonces parece que se puede pasar a la derecha en el MediaPlayer.

EDIT: Bueno, por lo que FileInputStream se crea utilizando una ruta de acceso o URL, por lo que es inútil.

Usted está correcto, MediaPlayer no tomará un parámetro de flujo directamente como su fuente de datos. Las cuatro versiones sobrecargadas de setDataSource() permiten que los datos provengan de un archivo (utilizando la ruta del archivo O un FileDescriptor ) o un Uri (ubicación web o contenido local: // uri).

Además, el método static create() puede crear un reproductor de medios de un recurso crudo (R.raw.something) o el mismo estilo Uri que el anterior.

¿De dónde se obtiene el audio / vídeo desde una ubicación de archivo o la web?

Por ahora, copio el InputStream a un archivo temporal y lo doy a mediaplayer. Pero, ya sabes, no es una buena solución. Porque, es la solución lenta. Si los datos son grandes, el jugador debe esperar demasiado.

Mi fuente está cambiando. Por ejemplo, viene de la base de datos. Si no encuentro solución, convierto mi código a conseguir el archivo. Pero, por ahora desing el sistema para conseguir entradas y para jugarlo. Como, la función j2me de MediaPlayer.createPlayer(InputStream,String)

  • UDP Video Streaming en Android
  • MediaButtonIntentReceiver no funciona en Android 4.0+
  • Reproducir un archivo de sonido de Internet cuando se hace clic en un botón
  • El video no se reproduce en Android
  • Transmisión al MediaPlayer de Android
  • ¿Cómo resolver "reproductor multimedia Android detener automáticamente después de algún tiempo en streaming"?
  • Flujo de problemas de audio en ICS
  • Edición específica de Url de Media Player de Android
  • Android MediaPlayer hace que el juego se congele con "AudioHardware pcm la reproducción se va a esperar"
  • Cómo utilizar la biblioteca ijkplayer
  • Controlar el volumen en MediaPlayer
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.