我想编写一个“简单”的Java Server类型的应用程序来将视频流式传输到不同的客户端。我的第一步将是一个包含VideoView和MediaPlayer设置为Video Streaming(More Information on Android SDK - MediaPlayer)的“简单”Android应用程序,虽然稍后我也可能添加桌面java应用程序。
我不确定我将如何实际在服务器上进行流式传输。我已经编写了一个小的Http Server来处理来自客户端的TCP GET请求。 在那里我用这个编码写回/“流”文件:
FileInputStream fs = new FileInputStream(f);
final byte[] buffer = new byte[1024];
int count = 0;
//add the header information to the respone
while ((count = fs.read(buffer)) >= 0) {
os.write(buffer, 0, count);
}
os.flush();
fs.close();
os.close();
os是Response的OutputStream,我通过tcp套接字,f是请求的文件。 这似乎是立即发送文件几乎完全,而不是像我想要的那样,将其“分块”流式传输。
所以我的问题是: