我想录制一个在中午播放的互联网广播节目,我无法收听。
收音机的网址是:http://radio.orf.at/player/radioplayer.html?station=ooe
我查看了 DOM,以了解播放器从哪里获取数据。我相信是这个服务器:"http://194.232.200.148:8000"
当我在浏览器中键入此内容时,会出现一个文档,该文档会随着时间的推移而增长,因此我假设它是流的数据。
当我在 DOM 中读取数据时,数据是音频/mpeg 格式,所以我想我可以编写一个小程序来抓取数据并将其保存为 *.mpeg 文件。
我的测试程序如下所示:
URL u = new URL("http://194.232.200.148:8000");
InputStream openStream = u.openStream();
long curTime = System.currentTimeMillis();
BufferedWriter bw = null;
FileWriter fw = new FileWriter(new File("C:\Users\Lukas\Desktop\test.mpeg"));
bw = new BufferedWriter(fw);
while (true) {
int read = openStream.read();
System.out.println(read);
if (read == -1 || curTime + 60000 < System.currentTimeMillis()) {
break;
}
bw.write(read);
bw.flush();
}
bw.close();
} catch (Exception ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
但正如我已经担心的那样,这似乎并不容易。
我将数据发送到文件,但它不是有效的.mpeg文件。
所以我想问是否有人有处理这类问题的经验,可以帮助我解决问题,或者至少给我一个提示该怎么做。
你的,卢卡斯
MPEG 文件有标题,没有这些标题,玩家将无法读取它们。 此外,您必须确定实际格式是什么,它可能是某种受版权保护的格式,您不能简单地为其创建标题并在普通播放器中播放。 也许首先查找 MPEG 文件格式结构。