Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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
C# 我应该使用哪种音频编解码器?_C#_Audio_Tcp_Codec_Speech - Fatal编程技术网

C# 我应该使用哪种音频编解码器?

C# 我应该使用哪种音频编解码器?,c#,audio,tcp,codec,speech,C#,Audio,Tcp,Codec,Speech,我应该为我的C#软件开发项目选择哪个音频编解码器,其中要转码/传输/使用的原始音频基于以下内容: 仅用于语音编码 音频可以是立体声或单声道 能够支持实时流媒体 文件大小和质量之间的良好折衷 以编码形式通过TCP/IP传输 可由随时可用的免费播放器播放,无需进一步处理 请注意,不需要考虑是否有现成的免费编解码器库用于执行转码。您可以使用LAME进行带有“语音”预设的MP3编码。我建议测试不同的 MP3是KPFA.org(我想现在是KQED)在流媒体直播中使用的。效果很好。不过,我不知道使用的是什么

我应该为我的C#软件开发项目选择哪个音频编解码器,其中要转码/传输/使用的原始音频基于以下内容:

  • 仅用于语音编码
  • 音频可以是立体声或单声道
  • 能够支持实时流媒体
  • 文件大小和质量之间的良好折衷
  • 以编码形式通过TCP/IP传输
  • 可由随时可用的免费播放器播放,无需进一步处理

  • 请注意,不需要考虑是否有现成的免费编解码器库用于执行转码。

    您可以使用LAME进行带有“语音”预设的MP3编码。我建议测试不同的


    MP3是KPFA.org(我想现在是KQED)在流媒体直播中使用的。效果很好。不过,我不知道使用的是什么服务器软件。

    鉴于您选择的语言,如果可以安全地假设您使用的是Windows,我实际上会推荐WMA,即Windows格式。这些库都将内置,而且,从各方面考虑,它是一个非常可靠的编解码器。支持您的所有需求,等等


    但是,如果您要推到flash端点,请使用.fla,flash音频。Flash无疑是针对消费这一点进行了优化,尽管它在C#上使用起来并不那么容易,但您肯定会欣赏到另一端的消费便利。

    Speex是免费的开源编解码器,专为在需要低延迟的实时解决方案中对语音进行编码而设计。诸如WMA或MP3之类的通用压缩方案可能会导致更多延迟,并且它们也可能无法在非常低的比特率下正常工作

    如果您只针对Windows,GSM编解码器可能是低带宽应用的一个好选择。通常认为它的质量低于Speex,但使用的带宽也相当少


    Windows媒体播放器可以播放GSM,编码器是Vista和以上的媒体基础的一部分(可能是XP和以下的一些Win32 API)< /P> < P>一个最近的更好的替代方案是.< /P>


    与其他编解码器一起查看,看看它的性能如何。

    是的,随着Opus的到来,Speex现在已经过时了!