如何从在线流媒体广播电台获取流媒体网址

Ahm*_*ck' 9 html javascript android stream

我被要求为某个广播电台制作非官方的在线流媒体Android应用程序.
我已经体验过在某些mp3或任何流中使用android进行流式处理.
但我不知道stream url提供的内容mediaPlayer.setDataSource(url).

有没有办法从前面的流媒体页面获取流网址.这个广播流?

Sha*_*har 16

不那么难

如果您查看页面源代码,您将看到它用于通过shoutcast流式传输音频.

这是流网址

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

它返回一个类似的JSON:

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

我相信这是你需要的网址:http://mp3hdfm32.hala.jo: 8132

这是车站网站


Dav*_*vid 5

编辑了ZygD对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")
Run Code Online (Sandbox Code Playgroud)


SPR*_*BRN 5

提供的答案对我不起作用。我添加另一个答案,因为这是我在搜索广播流网址时结束的地方。

Radio Browser 是一个可搜索的网站,其中包含世界各地广播电台的流媒体 URL:

http://www.radio-browser.info/

搜索FIP、Pinguin Radio或Radio Paradise等电台,然后单击“保存”按钮,该按钮会下载一个 PLS 文件,您可以在收音机播放器 (Rhythmbox) 中打开该文件,或者在文本编辑器中打开该文件并复制要添加的 URL在好氛围。