1

我有一个简单的问题:文件是在完成之前创建的,还是在完成后创建的?

例如,我正在尝试使用 JSpotify 创建一个基于 Web 的 Spotify。我已经为它创建了一个在服务器上运行的接口。按下播放时,它将在服务器上播放(这很好,如果我想创建一个 Spotify 遥控器)——但我想将它流式传输给用户。

据我所知,JSpotify 在播放前将 Spotify 的流播放/转换为 ogg 格式。现在假设我将新转换的流重新路由到 ogg 文件(比如 stream.ogg),我可以嵌入 html5 音频标签并将其指向 stream.ogg 并让用户在 stream.ogg 文件仍然存在时播放被写入,还是仅在 java 完全完成写入后才创建 stream.ogg(调用 close() 时)?

更进一步,html5 音频是否需要一个完整的文件才能流式传输?我想这个问题与ogg格式有更多关系......

4

2 回答 2

1

在我曾经使用过的所有系统(很多)上打开输出或 I/O 时都会创建文件,但 RT-11 除外,它们在关闭之前不存在。但那是很久以前的事了。

于 2011-11-24T21:28:25.623 回答
0

如果您有流,可以使用http://docs.oracle.com/javase/1.4.2/docs/api/java/io/FilterInputStream.htmlhttp://docs.oracle.com/javase/1.4 .2/docs/api/java/io/FilterOutputStream.html将流内容同时重定向到您的客户端和文件。

于 2011-11-24T16:22:57.517 回答