.NET 视频音频聊天

Posted

技术标签:

【中文标题】.NET 视频音频聊天【英文标题】:.NET Video Audio Chat 【发布时间】:2010-07-08 21:18:02 【问题描述】:

我是应用程序开发方面的初学者。

到目前为止,我已经用 C# 开发了 BattleShips 的点对点游戏和 Java 的 Connect 4 点对点游戏。

对于我的下一个项目,我决定使用多媒体。

我想实现一个点对点聊天程序,该程序使用音频/视频流到每个客户端以及文本聊天和文件传输。我想用 C# 来实现它。

我的问题是应该从哪里开始?

我已经阅读了 SO 和其他各种来源,但由于我缺乏经验,它仍然被证明是神秘的。

欢迎任何新手级别的提示,即寻找相对容易理解的教程。

【问题讨论】:

【参考方案1】:

看看 Jabber (XMPP) - 它专为您描述的任务而设计。 Jabber-net 是一个有用的 .NET 库。仅供参考 Google IM 使用 Jabber 并构建了一组称为 Jingle 的视频聊天扩展程序(也是开源的)

【讨论】:

你能告诉我一个像Jingle这样的.net扩展吗?【参考方案2】:

这里的水平很高:

对于语音聊天,我会使用 Direct x 的麦克风音频驱动程序来捕获语音数据,然后将其流式传输到另一台计算机(UDP 数据包,但使用 Beej 的 [http://beej.us/guide/bgnet/] 指南进行网络概述)

这是一个很好的教程和代码,可以帮助您入门: http://www.codeproject.com/KB/audio-video/VoiceChatApplicationInCS.aspx?msg=2193667

这与网络摄像头的想法相似,除了发送一系列图像而不是发送音频数据。 应该在 Direct X SDK 中有一个为此(直接显示?)的库,它将为一堆网络摄像头提供通用 api,但在数据结束时,您将从中获取数据一台计算机,使用音频和视频格式对其进行编码、流式传输和解码。

祝你好运!

【讨论】:

【参考方案3】:

如果您想在 C# 中使用原始套接字编写自己的协议,那么您需要熟悉您的网络协议。 首先查找如何将文本消息发送到端口以及如何读取端口上发送的任何内容并将其显示到屏幕上。

您需要有一个简单的控制台应用程序,该应用程序在端口上无限运行(充当您的服务器) 和另一个简单的控制台应用程序,它将向您指定的端口发送消息

这应该给你一些开始。然后你可以改变你的视频流代码(更难)

【讨论】:

以上是关于.NET 视频音频聊天的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过语音通道播放 youtube 音频时 C# discord bot 未知操作码 8

使用 Socket.IO 和 NodeJS 实现音频聊天

WebRTC笔记之N:最简单的聊天(音频+视频)

聊天使用啥协议? webRTC 或 Websockets

将实时音频/视频聊天集成到Construct 2 游戏中或将Construct 2 嵌入到应用程序中

Unity实战篇 | 接入 声网SDK 实现 音频通话 —— 自己动手做一个 语音聊天房