因此,我需要在 java 客户端应用程序中从网络上的服务器播放音乐文件。我在想套接字 - 让服务器将音乐文件作为流打开,并让客户端连接到该文件并将其作为 InputStream 读取和播放。这会起作用 - 除了 AFAICS 用户将无法查找文件(他们目前可以查找本地文件),因为我看不到 Sockets 流如何支持它。
有更好的想法吗?或者有办法使用Sockets来寻求?
杰尼?我对此知之甚少,不知道它是否有帮助。
(完全蹩脚的)最后手段是使用映射的网络驱动器。
在您实现自己的协议之前,看看Java Media Framework是值得的。它支持流式音频、视频等。如果您想要由人类编写的描述,这里是 Wikipedia 条目。
您需要定义某种允许随机访问的协议。最简单的解决方案可能是使用 HTTP 及其“Range”标头,并以短片形式请求数据。
诸如RTSP之类的“真实”流协议要复杂得多,通常使用 UDP 而不是 TCP。