La forma más sencilla de reproducir un flujo de RTMP de audio en Android

He encontrado algunas bibliotecas RTMP de Android (como esto: http://rtmpdump.mplayerhq.hu/ ).

El problema es que no hay documentación precisa sobre cómo podemos usarlo.

En mi caso, tengo un flujo de audio RTMP simple (ej: rtmp: // myserver / myapp / myliveaudio).

¿Cuál es la forma más fácil de leerlo en mi aplicación para Android?

Por favor, no quiero enlaces: necesito algunas piezas de código o alguna explicación detallada paso a paso.

Muchas gracias.

Por desgracia, no es trivialmente difícil de hacer. Ahora su mejor apuesta es mirar el código en http://code.google.com/p/android-rtmp-client/ : mire específicamente http://code.google.com/p/android-rtmp- Cliente / origen / browse / trunk / ejemplo / com / ryong21 / example / recorder / RecorderClient.java y http://code.google.com/p/android-rtmp-client/source/browse/trunk/example/com/ Ryong21 / ejemplo / grabadora / Recorder.java . Estos caminar a través de la toma de un archivo MP3 en streaming y la grabación de su contenido a un archivo FLV en el disco.

Debería modificar el archivo RecorderClient.java (específicamente alrededor de la línea 193) para reproducir los datos de audio de los altavoces.

No estoy seguro de si esto ayuda, pero … He podido hacer algo similar (rtmp – streaming de vídeo) con Flash, por lo que necesita Android 2.2 + para ello.

De todos modos, acabo de escribir una página HTML que muestra el flash de vídeo a continuación, abrió la página en un WebView.

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <style type="text/css" media="screen"> html, body{ margin:0; padding:0; height:100%; } #altContent{ width:100%; height:100%; } </style> <title>YOUR TITLE HERE!</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> <script type="text/javascript"> var flashvars = {}; flashvars.HaloColor = "0x0086db"; flashvars.ToolTips = "true"; flashvars.AutoPlay = "true"; flashvars.VolumeLevel = "50"; flashvars.CaptionURL = "YOUR CAPTION HERE"; flashvars.Title = "YOUR TITLE HERE"; flashvars.Logo = ""; flashvars.SRC = "rtmp://YOUR STREAM URL HERE"; flashvars.BufferTime = "5"; flashvars.AutoHideControls = "false"; flashvars.IsLive = "true"; var params = {}; params.wmode = "transparent"; params.allowfullscreen = "true"; var attributes = {}; attributes.id = "L3MP"; swfobject.embedSWF("http://media-player.cdn.level3.net/flash/v1_1_1/Level3MediaPlayer.swf", "altContent", "100%", "100%", "10.1.0","http://media-player.cdn.level3.net/flash/v1_1_1/expressInstall.swf", flashvars, params, attributes); </script> </head> <body> <div id="altContent"> <center> <BR><BR><span style="color:red"><b>Please Install Adobe Flash Player</b> </span><BR><BR> <a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a> </center> </div> </body> </html> </script> </html> 

Aceptar … ahora sólo tiene que guardar en su carpeta de activos en su proyecto y abrirlo con algo como esto en su actividad:

  String LocalFile = "file:///android_asset/YOUR_HTML_FILE.htm"; WebView webView = (WebView) findViewById(R.id.YOUR_WEB_VIEW); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setPluginsEnabled(true); webSettings.setLoadWithOverviewMode(true); webSettings.setUseWideViewPort(true); webSettings.setAllowFileAccess(true); webView.setBackgroundColor(Color.BLACK); webView.setVerticalScrollBarEnabled(false); webView.setHorizontalScrollBarEnabled(false); webView.loadUrl(LocalFile); 

Es un poco de trabajo alrededor … Espero que funcione para usted. CDub.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.