2012-08-08 47 views
0

我想录制一个正在中午运行的互联网广播节目,我无法听到它。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); 
     } 

但正如我已经担心,似乎it's并不那么容易。

我得到的数据到文件,但它不是一个有效的.mpeg文件。

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

你的,卢卡斯

回答

0

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