我需要一个Java应用程序(桌面 - Windows和Mac),需要通过套接字(WebSockets,因为客户端使用浏览器)将桌面屏幕视频发送给其他用户。
现在我设法做到了:
Robot.getImageWritersByFormatName
获取屏幕截图(不是那么快,但据我所知,没有其他跨平台解决方案)java socket client -> screenshare/socket server -> client(browser)
我如何想象,如果我可以使用 ByteBufferSeekableByteChannel 而不是 FileChannelWrapper (两者都实现SeekableByteChannel)并使用 ByteBuffer 将数据存储在内存中,那么我可以在循环中调用channel.read(someOtherByteBuffer)
并通过套接字发送字节数组,但是我得到的数组充满了零。
有人知道如何使这项工作?欢迎任何其他建议或者其他想法如何制作这个应用程序。