简而言之,我正在编写一个视频聊天应用程序,它应该可以连接两部 Android 手机。到目前为止,我已经设法协商客户端之间的交互,直到我到达我应该在客户端之间进行视频(以及后来的音频)数据流传输的部分。
问题如下:
我正在尝试实现一个服务,一旦一个人决定联系某人,就会从一个 ChatActivity 开始,这将在两个客户端之间协商流式传输,使套接字和数据在它们之间传输完全独立于发生的事件在 ChatActivity 中,除了对话结束的那一刻,活动终止的那一刻,以及随之而来的服务。
但是,我担心的是,如果服务在会话中终止套接字,我就会遇到必须在客户端和客户端之间重新协商流的问题。可能很明显,我对 android 服务的了解充其量是有限的,欢迎任何关于该主题的建议
我的问题是:
- 创建一个服务是否可行,该服务将阻止由于外部影响导致的意外崩溃,保持这样的连接处于活动状态并运行,而不管显示流中视频的活动 (ChatActivity) 被销毁和创建多少次?
- 我应该为此使用绑定服务还是启动服务,还是两者的混合?
- 如果我以某种方式从服务创建一对可用的视频数据流,一个通过互联网连接另一个通过摄像头,我是否能够将它们发送回活动,并继续将它们重新连接到组件,无论多少次它们在生命周期中被销毁和创建?
- 尽管我努力了,但我还没有找到任何类似的例子,如果有人遇到过类似的套接字/服务杂耍的代码,我将非常感谢指导。