Android:实施VoIP程序

时间:2010-11-14 01:58:51

标签: android udp voip skype

我有一些设计问题,我想与有兴趣帮助我的人讨论。我打算开发一个简单的VoIP程序,允许同一网络中的两部Android手机使用VoIP。我的目标只是捕获声音,用UDP发送数据,接收UDP数据和播放声音。

我目前的设计是有两个线程:一个捕获麦克风并发送数据;另一个接收字节并播放它们。

我开始使用MediaPlayer和MediaRecorder实现它。出现的问题是如何录制和播放声音?通过这个,我想知道我是否需要使用一个文件,虽然这似乎很慢,或者无论如何都要将录音自动发送到我的UDP套接字了吗?

基本上,我想知道是否必须录制到文件,然后才能播放,或者我可以通过套接字(录制和播放)。

有人有什么建议吗?

非常感谢

2 个答案:

答案 0 :(得分:1)

MediaRecorder需要FD,所以你也可以使用套接字。我没有看到任何问题。这一切都取决于你如何设计你的系统。

答案 1 :(得分:1)

不要将这些类用于流音频 - 请改用AudioTrack和AudioRecord。

它们提供播放和录制原始音频数据所需的功能,而无需处理FD。

当您录制帧(byte []或short [])时,请使用UDP数据包进行包装。 当您收到UDP数据包时,请解压缩相关的字节[]或短[]然后播放。