各位好!
现在有个问题1想向大家请教下:
我现在要实现这样的功能:有两台Android操作系统的设备A和B,我想A作为客户端,B作为服务端,A设备可以启动B设备的摄像头功能(通过wifi和通过3G网络两种方式),并且可以在A设备中显示B设备的摄像头捕捉的视频内容(不需要拍照),同时可以启动两台设备之间的语音通话功能。不知我描述得清不清楚,简单点讲就是基于Android系统的设备,一台设备可以控制另一台设备并能相互通信,有哪些朋友做过这方面的项目望指点一下或提供一下思路,谢谢了!

解决方案 »

  1.   


    你好!
    你说的关于“广播信号量设置为什么”我不是很明白,是说如何触发接收到广播信号吗?我也是刚接触Android开发不久,希望多多指点!谢谢!另外,你可以把整个功能的实现思路简单描述一下吗?
      

  2.   

    A跟B之间可以用UDP心跳包保持联系,但是如果两台机器不在一个局域网下比较难,因为手机上网的IP是经常在变的,你可能需要第三方来让A和B知道对方的IP。
    A想跟B通话的时候就发一个UDP的包给B,B收到一条以后就启动TCP server,同时回一个UDP的包给A。A收到回复的包以后就把自己设成TCP client,连上server,这个时候就可以传输数据了。
    单向视频加双向音频可以用FFMPEG来实现,但是这样网络和CPU的负担都比较重。建议你把视频硬压缩以后再通过TCP传输,A收到数据硬解压以后显示出来。其实你在A上获取到了B摄像头的数据,就可以在A上实现拍照和录像。
      

  3.   

    我尝试过在Android设备上外网IP监听,这是不行的,在127.0.0.1上起服务,另一设备通过外网也连不上。