【问题标题】:problems with an icecast audio clienticecast 音频客户端的问题
【发布时间】:2014-11-25 11:35:05
【问题描述】:

不确定这是否可行,我已经配置了一个 icecast 服务器和流媒体音乐,并且我想使用 Java(或 grails)创建一个网络播放器。我设法让 java 网络应用程序播放音乐 icecast 正在流式传输,使用如下:

AudioInputStream stream = AudioSystem.getAudioInputStream(new URL("http://localhost:8000/musicstation"))    

再播放几行音乐后,问题是如果我关闭带有网络应用程序的标签,音乐继续播放,我必须停止应用程序才能停止播放,但是当我再次启动它并尝试再次播放,就像icecast服务器在后台继续播放歌曲一样,我的意思是,它没有停止或暂停,因此我无法实现暂停动作,因为如果我暂停,实际暂停的将是网络应用播放歌曲,但在后台icecast会继续传输歌曲,所以当我暂停后再次播放时,歌曲不会从暂停点继续播放。

使用 AudioInputStream 是实现 icecast 音频客户端的正确方法吗? 我希望我能解释一下自己。 谢谢

【问题讨论】:

    标签: java grails audio-streaming javasound icecast


    【解决方案1】:

    Icecast 显然会继续“播放”,因为它是一个实时流媒体服务器。如果要实现暂停机制,则需要缓冲从 Icecast 获得的内容并播放缓冲区。

    【讨论】:

    • 所以如果我想创建一个类似于 spotify 的播放器,你认为 icecast 作为流媒体服务器是一个不错的选择吗?我想要的是创建一个网络播放器,用户可以在其中暂停、转发、停止等用户正在播放的任何歌曲,不确定缓冲我从 icecast 获得的内容是否是一个好方法,有什么建议吗?
    • 还是开发自己的实时流协议 (RTSP) 的正确方法?
    • Icecast 不适合这样做。一个普通的网络服务器就可以了。
    • 对不起,我现在有点迷茫,你说的普通网络服务器是什么意思?我不需要流媒体服务器来实现吗?一个普通的 Web 服务器是否足以在不同时间托管和流式传输大量不同的 mp3/ogg 文件给不同的用户/客户端?
    • 我需要做的就像一个单播点播服务器,任何用户都可以选择任何歌曲并播放它,而不是实时传输。简而言之,就像一个新的 spotify 或grooveshark。现在我想也许你是对的,Icecast 不是正确的做法,但我认为使用带有 http 的普通 Web 服务器也不是正确的方法,因为正如我一直在阅读的那样,使用 http 进行流式传输是完全低效的,你建议我应该怎么做?
    猜你喜欢
    • 2013-07-19
    • 2013-04-28
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多