c#语音通讯(局域网)

2021-01-25 00:14

阅读:826

标签:些许   director   sharp   影响   文件   try   建立   www   str   

.NET的音频处理类库 NAudio

是一款开源的用于.NET平台下的音频处理类库,提供了很多方法来操控音频数据。

NAudio类库可在在VS2015版本上NuGet包下载并引用到项目中。

可参照语音录制,地址https://www.cnblogs.com/wl192/p/11231008.html

NAudio文档及源码:https://github.com/naudio/NAudio 

 

 

技术图片

 

通过输入IP,建立链接,已编译成插件,前端可调用

技术图片

 每次接通都会自动录音,放入目录文件夹

技术图片

声音效果还不错,音量调大后会有些许杂音,但不影响通话交流。。

 

——————---------

通过反射加载插件

/// 
        /// 加载所有插件
        /// 
        private void LoadPlugins()
        {
            try
            {
                //获取Plugins目录文件
                string[] PluginFiles = System.IO.Directory.GetFiles(Application.StartupPath + @"\Plugins");
                foreach (string PluginFile in PluginFiles)
                {
                    //dll文件才是有效的插件程序集
                    if (PluginFile.ToUpper().EndsWith(".DLL"))
                    {
                        //通过反射加载dll程序集
                        System.Reflection.Assembly Ab = System.Reflection.Assembly.LoadFrom(PluginFile);
                        //获取加载的dll程序集里面的类名称
                        Type[] Types = Ab.GetTypes();
                        foreach (Type T in Types)
                        {
                            if (T.FullName == "Communications.Plugins.FormAnswer")
                            {
                                PluginAnswer = Ab.CreateInstance("Communications.Plugins.FormAnswer");
                                PluginMethodAnswerShow = T.GetMethod("AnswerShow");
                                PluginMethodAnswerCallback = T.GetMethod("Callback");
                            }
                            if (T.FullName == "Communications.Plugins.FormCall")
                            {
                                PluginCall = Ab.CreateInstance("Communications.Plugins.FormCall");
                                PluginMethodCall = T.GetMethod("Call");
                                PluginMethodCallCallback = T.GetMethod("Callback");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 

c#语音通讯(局域网)

标签:些许   director   sharp   影响   文件   try   建立   www   str   

原文地址:https://www.cnblogs.com/wl192/p/12034406.html


评论


亲,登录后才可以留言!