【问题标题】:Streaming files over the network with random access - java通过随机访问在网络上流式传输文件 - java
【发布时间】:2009-01-22 01:27:16
【问题描述】:

所以我需要在 Java 客户端应用程序中从网络上的服务器播放音乐文件。 我在想套接字 - 让服务器将音乐文件作为流打开,并让客户端连接到该文件并将其作为 InputStream 读取和播放。哪个会起作用-除了 AFAICS 用户将无法查找文件(他们目前可以查找本地文件),因为我看不到 Sockets 流如何支持它。

有更好的想法吗?或者有办法使用Sockets来寻找?

JNI?我不太了解它是否会有所帮助。

(完全蹩脚的)最后手段是使用映射的网络驱动器。

【问题讨论】:

    标签: java sockets stream seek


    【解决方案1】:

    在您实现自己的协议之前,看看Java Media Framework 是值得的。它支持流式音频、视频等。Here 是 Wikipedia 条目,如果您想要人类编写的描述。

    【讨论】:

    • 不幸的是,JMF 早已死去。它不支持 mp3,除非使用插件,即便如此,它也只能播放大约 1/3 的现代 mp3。相信我,我试过:)。唯一健全的、半现代的 java mp3 播放框架是 Javazoom 的 jlayer 和 mp3spi。
    • 是的,我害怕那个。典型的太阳。 JavaFX 可能是另一种选择,但它也可能很快就会被放弃:)
    【解决方案2】:

    您需要定义某种允许随机访问的协议。最简单的解决方案可能是使用 HTTP 及其“Range”标头,并以短片形式请求数据。

    RTSP 等“真实”流协议要复杂得多,通常使用 UDP 而不是 TCP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2020-11-01
      • 1970-01-01
      相关资源
      最近更新 更多