文档

语音IP (VOIP)

这个例子演示了使用UDP Send和UDP Receive块在网络上传输音频数据。

用户数据报协议(UDP)

用户数据报协议(UDP)是互联网协议(IP)套件的一部分。UDP提供了有效的数据传输,但不能保证可靠性、数据顺序和数据完整性。这些特性使UDP适合流音频和视频数据,但不适合二进制文件和类似的情况下,数据丢失是不可接受的。

探索的例子

您可以完全在一个系统上运行这个示例。然而,要在网络上演示UDP,最好是在两台联网的计算机上运行这个示例。如果第二台计算机安装了Simulink软件,您可以直接金宝app在它上运行示例。否则,使用Simulink®C金宝appoder™生成可以在第二台计算机上运行的独立可执行文件。

首先,在一台计算机上运行dspUDPEcho模型和dspUDPVoip模型。模型通过本地主机端口127.0.0.1相互传递音频数据。

dspUDPVoip模型将音频数据传输到dspUDPEcho。dspUDPEcho模型将数据回传给dspUDPVoip,它在您的音频扬声器上输出信号。

如果您有麦克风,您可以使用手动开关在dspUDPVoip模型传输实时音频而不是正弦波。

在一台计算机上运行模型后,将dspUDPEcho复制到第二台计算机。在两个模型中,更新IP地址在UDP发送从127.0.0.1到IP地址的对面的计算机。当你运行这两个模型时,它们会通过网络相互传输音频信号。

%打开两个模型并同时运行open_system (“dspUDPEcho”);open_system (“dspUDPVoip”);set_param (“dspUDPEcho”“SimulationCommand”“开始”);set_param (“dspUDPVoip”“SimulationCommand”“开始”);让模型运行5秒钟暂停(5);%停止模拟set_param (“dspUDPVoip”“SimulationCommand”“停止”);set_param (“dspUDPEcho”“SimulationCommand”“停止”);

关闭模式

bdclosedspUDPEchobdclosedspUDPVoip

调试网络连接

如果您无法通过网络传输信号,请检查以下项目:

  • 你的防火墙没有阻止你使用的IP端口号。如果需要,请参考系统管理员或操作系统文档。

  • 您正在使用一个免费的IP端口号。一个没有被另一个应用程序使用。

  • 操作系统没有将端口号限制给特权用户。例如,Linux通常将root用户使用的端口限制在1024以下。

如果需要,请向您的系统管理员或操作系统咨询更多信息。

参考文献

关于UDP的维基百科条目

时,J。用户数据报协议http://tools.ietf.org/html/rfc768

可用的示例版本

音频发射器和接收器:dspUDPVoip

UDP回声子系统:dspUDPEcho

这个话题有用吗?