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 ?

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.

  • React-nativo de Android WebView manejar clic en Url antes de cargar
  • facingMode en MediaDevices.getUserMedia no parece funcionar en el último Android Chrome (v53)
  • window.innerHeight vs window.outerHeight para calcular la densidad?
  • ToolBarAndroid no representa en ReactNative
  • Método multiplataforma para eliminar la barra de direcciones de una aplicación web para móviles
  • El error de referencia onnotification no está definido en la notificación de push cordova android
  • ¿Se ejecuta JavaScript cuando la aplicación está en segundo plano?
  • ¿Cómo puedo obtener puntos de interrupción (y ver números de línea de error) al depurar JavaScript en Android?
  • Cómo implementar OAuth 2.0 como autenticación basada en tokens para API de reposo a la que se accede desde aplicaciones web móviles y javascript
  • React Native en Android no encontró Herramientas de compilación
  • Phonegap: guarda la imagen de la url en la galería de fotos del dispositivo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.