Java - 保存Internet广播流

时间:2012-08-08 19:46:38

标签: java audio stream audio-recording

我想录制正在中午运行的互联网电台节目,在那里我听不到它。

电台的网址是: 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文件。

所以我想问一下是否有人有过这类问题的经验,可以帮助我解决问题,或至少给我一个暗示该怎么做。

你的,卢卡斯

1 个答案:

答案 0 :(得分:0)

MPEG文件有标题,没有播放器不会读取它们。此外,您必须确定实际格式是什么,它可能是一些受复制保护的格式,您不能简单地为普通播放器创建标题并在其中播放。也许将MPEG文件格式结构作为一个开始。