Java - 保存互联网无线电流



我想录制一个在中午播放的互联网广播节目,我无法收听。

收音机的网址是: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 文件格式结构。

相关内容

  • 没有找到相关文章

最新更新