用java流音乐

时间:2012-03-22 07:38:01

标签: java networking tcp stream

我目前正在编写一些聊天程序,现在想通过客户端命令播放音乐,如:

/music http://somewebsite.com/somesong.mp3

因此链接将从发送歌曲的客户端发送到服务器。然后,服务器应该没有下载歌曲,将其流式传输到每个客户端(他们也不应该下载它)。问题是,我不知道如何通过基于TCP的连接流式传输mp3。

我的问题是,如果有人能为我提供我需要的图书馆/教程/想法/代码示例。

作为替代方案,直接从一个客户端的计算机直接流式传输音乐也是可以的。如果我(作为客户端)在我的机器上播放歌曲(使用某些音乐播放器,如VLC或类似设备),然后输入某个命令(可能是 / stream ),我的声卡中的声音将会流式传输到服务器,然后到每个登录的客户端。

如果你能为我提供一些建议会很棒,谷歌到目前为止并没有真正帮助,主要是因为我不太明白我应该搜索什么。

提前致谢!

2 个答案:

答案 0 :(得分:8)

我发现了一个完全符合我要求的库: http://www.javazoom.net/javalayer/javalayer.html

public void play() {
        String song = "http://www.ntonyx.com/mp3files/Morning_Flower.mp3";
        Player mp3player = null;
        BufferedInputStream in = null;
        try {
          in = new BufferedInputStream(new URL(song).openStream());
          mp3player = new Player(in);
          mp3player.play();
        } catch (MalformedURLException ex) {
        } catch (IOException e) {
        } catch (JavaLayerException e) {
        } catch (NullPointerException ex) {
        }

}

希望能帮助每个人提出类似的问题: - )

答案 1 :(得分:0)

最简单的方法可能是使用Servlet。将内容类型设置为“audio / mpeg3”。 servlet将流式传输字节,用户可以在浏览器中播放音乐。