Transmitir y reproducir stream .m4a (Url de previsualización de Itunes) en android

Quiero transmitir y reproducir URL de vista previa de iTunes como http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a . He intentado utilizar AAC Decoder Android Library. Por lo que puedo transmitir y reproducir AAC stream urls como http://http.yourmuze.com:8000/play/paradise/l.aac . Pero dnt stream m4a urls (Logcat dice java.io.FileNotFoundException: http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a ).

¿Cómo puedo transmitir los enlaces .m4a?

Mi código:

 public class AACPlayerActivity extends Activity implements OnClickListener,PlayerCallback{ private Button btnPlay; private ProgressBar progress; private Handler uiHandler; private MultiPlayer multiPlayer; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnPlay = (Button)findViewById(R.id.playButton); progress = (ProgressBar)findViewById(R.id.progress); progress.setVisibility(View.INVISIBLE); btnPlay.setOnClickListener(this); uiHandler = new Handler(); } public void playerException(Throwable arg0) { // TODO Auto-generated method stub } public void playerMetadata(String arg0, String arg1) { // TODO Auto-generated method stub } public void playerPCMFeedBuffer(boolean arg0, final int audioBufferSizeMs, final int audioBufferCapacityMs) { // TODO Auto-generated method stub uiHandler.post(new Runnable() { public void run() { // TODO Auto-generated method stub progress.setProgress( audioBufferSizeMs * progress.getMax() / audioBufferCapacityMs ); } }); } public void playerStarted() { uiHandler.post(new Runnable() { public void run() { // TODO Auto-generated method stub progress.setProgress( 0 ); progress.setVisibility( View.VISIBLE ); } }); } public void playerStopped(int arg0) { // TODO Auto-generated method stub uiHandler.post(new Runnable() { public void run() { // TODO Auto-generated method stub progress.setVisibility( View.INVISIBLE ); } }); } public void onClick(View v) { // TODO Auto-generated method stub if(btnPlay.getText().equals("Play")){ start(); btnPlay.setText("stop"); }else{ stop(); } } private void start() { stop(); // we cannot do it in playerStarted() - it is too late: multiPlayer = new MultiPlayer(this,MultiPlayer.DEFAULT_AUDIO_BUFFER_CAPACITY_MS, MultiPlayer.DEFAULT_DECODE_BUFFER_CAPACITY_MS); multiPlayer.playAsync("http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a"); } private void stop() { if (multiPlayer != null) { multiPlayer.stop(); multiPlayer = null; } } 

Actualizaciones

  1. Trato de usar ServeStream dice que la url no se pudo abrir.
  2. Trato de usar Vitamio SDK también falla al reproducir los itunes preview Urls .

¿Es posible reproducir itunes preview urls en android?

No tiene nada que ver con los formatos de los medios de comunicación, etc. Apple simplemente evita que los clientes que no sean de Apple accedan a las vistas previas. Puede spoof User-Agent cabecera y el acceso a las vistas previas.

Lee mi entrada de blog relevante aquí: http://ahmetalpbalkan.com/blog/how-to-bypass-itunes-music-previews-protection/ Es por eso que obtienes 404 mientras tocas música en Android. Esto debería responder a tu pregunta.

Echa un vistazo a ServeStream :

Navegador del servidor de medios HTTP y reproductor de streaming para Android.

caracteristicas:

  • Soporta Android 2.2+, 3.0+ (Sin soporte para <2.2)
  • Reproduce archivos multimedia compatibles con Android
  • Soporte adicional para las listas de reproducción m3u, m3u8, pls y asx
  • Soporta multitarea / reproducción de audio en el fondo
  • Modos de repetición y reproducción aleatoria
  • Soporte de despertador
  • Widget de la pantalla de inicio
  • Utiliza el análisis HTML para permitir la navegación de servidores de medios HTTP que sirven páginas HTML

M4A y AAC son compatibles con Android. Yo recomendaría leer esta página: http://developer.android.com/guide/appendix/media-formats.html

Sólo un par de cosas que debe tener en cuenta a) Los dispositivos más antiguos pueden no tener ningún codificado particular o soporte de formato (especialmente, si usted va por debajo de OS 2.2) b) Algunos dispositivos baratos pueden tener cosas bastante extraño integrado en la pila de audio / video. Lo vi en un par de dispositivos chinos baratos.

Por lo tanto, puede intentar utilizar MediaPlayer API para reproducirlo: http://developer.android.com/reference/android/media/MediaPlayer.html

Puedes echar un vistazo al ejemplo aquí: http://blog.endpoint.com/2011/03/api-gaps-android-mediaplayer-example.html

  • Mejor manera de mostrar datos de flujo en la vista de lista de Android
  • Escucha un shoutcast con Android
  • Transmitir vídeo desde iPhone o Android a RTMP
  • Android, Cómo mostrar el buffering% de onBufferingUpdate
  • Biblioteca de streaming VLC Android
  • Android Media Stream Error? java.io.FileNotFoundException: Ningún proveedor de contenido: http: //
  • Reproductor multimedia android error 100
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.