Cómo obtener la url de streaming de la emisora ​​de radio en línea

Se me ha pedido que realice una aplicación no oficial en línea para una determinada estación de radio.
Tengo experiencia con streaming en android para ciertos mp3 o cualquier corriente.
Pero no sé la stream url para proporcionar en mediaPlayer.setDataSource(url) .

¿Hay alguna manera de obtener la url de flujo de la página streaming ofiicial para ex. Esta emisora ​​de radio ?

4 Solutions collect form web for “Cómo obtener la url de streaming de la emisora ​​de radio en línea”

No es tan difícil,

Si echa un vistazo a la fuente de la página, verá que utiliza para transmitir el audio a través de shoutcast.

Esta es la URL del flujo

"STREAMURL": " http://stream.radiotime.com/listen.stream?streamIds=3244651&rti=c051HQVbfRc4FEMbKg5RRVMzRU9KUBw%2fVBZHS0dPF1VIExNzJz0CGQtRcX8OS0o0CUkYRFJDDW8LEVRxGAEOEAcQXko%2bGgwSBBZrV1pQZgQZZxkWCA4L%7e%7e%7e ",

Que devuelve un JSON así:

 { "Streams": [ { "StreamId": 3244651, "Reliability": 92, "Bandwidth": 64, "HasPlaylist": false, "MediaType": "MP3", "Url": "http://mp3hdfm32.hala.jo:8132", "Type": "Live" } ] } 

Creo que es la url que necesita: http://mp3hdfm32.hala.jo:8132

Esta es la estación WebSite

La respuesta de Shahar fue realmente útil, pero me pareció bastante tedioso hacer esto todo por mí mismo, así que hice un pequeño programa Python:

 import re import urllib2 import string url1 = raw_input("Please enter a URL from Tunein Radio: "); open_file = urllib2.urlopen(url1); raw_file = open_file.read(); API_key = re.findall(r"StreamUrl\":\"(.*?),",raw_file); #print API_key; #print "The API key is: " + API_key[0]; use_key = urllib2.urlopen(str(API_key[0])); key_content = use_key.read(); raw_stream_url = re.findall(r"Url\": \"(.*?)\"",key_content); bandwidth = re.findall(r"Bandwidth\":(.*?),", key_content); reliability = re.findall(r"lity\":(.*?),", key_content); isPlaylist = re.findall(r"HasPlaylist\":(.*?),",key_content); codec = re.findall(r"MediaType\": \"(.*?)\",", key_content); tipe = re.findall(r"Type\": \"(.*?)\"", key_content); total = 0 for element in raw_stream_url: total = total + 1 i = 0 print "I found " + str(total) + " streams."; for element in raw_stream_url: print "Stream #" + str(i + 1); print "Stream stats:"; print "Bandwidth: " + str(bandwidth[i]) + " kilobytes per second." print "Reliability: " + str(reliability[i]) + "%" print "HasPlaylist: " + str(isPlaylist[i]) + "." print "Stream codec: " + str(codec[i]) + "." print "This audio stream is " + tipe[i].lower() + "." print "Pure streaming URL: " + str(raw_stream_url[i]) + "."; i = i + 1 raw_input("Press enter to close TMUS.") 

Es básicamente la solución de Shahar automatizada.

Editado respuesta de ZygD para python 3.x .:

 import re import urllib.request import string url1 = input("Please enter a URL from Tunein Radio: "); request = urllib.request.Request(url1); response = urllib.request.urlopen(request); raw_file = response.read().decode('utf-8'); API_key = re.findall(r"StreamUrl\":\"(.*?),\"",raw_file); #print API_key; #print "The API key is: " + API_key[0]; request2 = urllib.request.Request(str(API_key[0])); response2 = urllib.request.urlopen(request2); key_content = response2.read().decode('utf-8'); raw_stream_url = re.findall(r"Url\": \"(.*?)\"",key_content); bandwidth = re.findall(r"Bandwidth\":(.*?),", key_content); reliability = re.findall(r"lity\":(.*?),", key_content); isPlaylist = re.findall(r"HasPlaylist\":(.*?),",key_content); codec = re.findall(r"MediaType\": \"(.*?)\",", key_content); tipe = re.findall(r"Type\": \"(.*?)\"", key_content); total = 0 for element in raw_stream_url: total = total + 1 i = 0 print ("I found " + str(total) + " streams."); for element in raw_stream_url: print ("Stream #" + str(i + 1)); print ("Stream stats:"); print ("Bandwidth: " + str(bandwidth[i]) + " kilobytes per second."); print ("Reliability: " + str(reliability[i]) + "%"); print ("HasPlaylist: " + str(isPlaylist[i])); print ("Stream codec: " + str(codec[i])); print ("This audio stream is " + tipe[i].lower()); print ("Pure streaming URL: " + str(raw_stream_url[i])); i = i + 1 input("Press enter to close") 

Cuando vas a una url de stream, te ofrecen un archivo. Alimentar este archivo a un parser para extraer el contenido fuera de él. El archivo es (generalmente) de texto sin formato y contiene la url para jugar.

  • ¿Cómo puedo saber si se produjo una excepción Javascript en una aplicación PhoneGap? (Androide)
  • Framework7 dentro de páginas de webview que no se cargan
  • Javascript android window.onorientationchange se dispara continuamente
  • Longitud del campo de entrada de contraseña = 0 en relleno automático (cromo android)
  • Android 4.1 webview javascript no funciona.
  • Html5 requiere validación trabajando muy bien en el navegador pero no en la aplicación de phonegap
  • Cómo averiguar si WebView se muestra / en pantalla / visible mediante JavaScript
  • ¿Puedo ejecutar JavaScript sin un WebView, o un WebView puede ejecutarse sin un contexto de actividad, como en un servicio?
  • La mejor manera de evitar los efectos del algoritmo Nagle usando webSockets?
  • Escáner de código de barras ZXing para Webapps
  • JavaScript visibilitchange Evento no dispara en Chrome móvil
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.