Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 用户对用户音频通信的最佳方法_Flash_Silverlight_Audio_Activex_Communication - Fatal编程技术网

Flash 用户对用户音频通信的最佳方法

Flash 用户对用户音频通信的最佳方法,flash,silverlight,audio,activex,communication,Flash,Silverlight,Audio,Activex,Communication,对于我的一个项目,我需要用户能够以音频模式相互通信。我关心的是项目的可扩展性,即使它在带宽消耗方面变得很大 除了通过我的服务器将音频传递给用户,还有什么替代方案 有没有可能在两个用户之间创建一个链接,这样他们就可以交换他们的数据流(本例中为音频),这样数据流就不会通过我,同时还能控制他们彼此连接的时间和其他一些信息 至于现在,这只是我心中的一个想法,但我真的不知道该研究什么。我认为它可能需要一些依赖插件的解决方案,所以这就是为什么我这样标记这个问题 我不是在寻找一个具体的解决方案,只是从经历过类

对于我的一个项目,我需要用户能够以音频模式相互通信。我关心的是项目的可扩展性,即使它在带宽消耗方面变得很大

除了通过我的服务器将音频传递给用户,还有什么替代方案

有没有可能在两个用户之间创建一个链接,这样他们就可以交换他们的数据流(本例中为音频),这样数据流就不会通过我,同时还能控制他们彼此连接的时间和其他一些信息

至于现在,这只是我心中的一个想法,但我真的不知道该研究什么。我认为它可能需要一些依赖插件的解决方案,所以这就是为什么我这样标记这个问题

我不是在寻找一个具体的解决方案,只是从经历过类似事情的人身上朝着正确的方向推动一下


谢谢

您当然可以将音频数据保留在服务器之外,是的,您必须这样做才能获得任何类型的可伸缩性

长期以来,电信网络一直以这种方式工作,将信令业务与语音业务分开。看这个,这个

如果你的项目是基于互联网的,听起来一个典型的方法会很合适

以下是一些通用方法:

  • 所有信号和语音通信都直接通过同一台服务器(这不会扩展!)
  • 信令通过您的服务器,语音通信通过专用服务器(可扩展性非常好——电信公司的典型方法)
  • 信令通过您的服务器,语音通信通过TCP/IP连接直接从用户到用户(扩展良好,现在您只需提供信令服务器)
  • 信令通过您的服务器,语音通信通过运行您的软件的连接用户的全球网络(可扩展性非常好,您现在正在与Skype竞争!)
如果您谈论的是语音通信,那么您还需要使用特定于语音的音频压缩,因为语音可以被大量压缩,从而保持可理解性,这有助于限制用户端的带宽消耗

如果您处于浏览器环境中,一个障碍可能是如何在用户之间获得点对点连接,并确保其安全。像这样的新网络技术值得在这里研究。但对于这个特殊问题,询问“如何在web应用程序中获得点对点连接”之类的问题可能会得到有用的答案