我自己使用了AForge.NET框架,我知道它不支持音频。所以为此我使用了 NAudio。您可以使用 NuGet 包管理器控制台轻松安装它们。
Aforge 安装包 AForge
NAudio 安装包 NAudio
以下是音频捕获的一些代码片段
private void LifeChattingManagerForm_Load(object sender, EventArgs e)
{
if (!AudioCapture.Initalized)
{
AudioCapture.Initalize();
AudioCapture.StartCapturing();
}
AudioCapture.DataAvailable += AudioEvent;
AudioPlayer.DisposeInput = false;
AudioPlayer.Run();
}
private void AudioEvent(byte[] buffer)
{
if (!Calling) return;
var audioPackage = new SAudioPackage(buffer);
HandleClient.Send(audioPackage);
}
音频播放器
AudioPlayer.AddSamples(package);
internal class AudioPlayer
{
private static readonly BufferedWaveProvider WaveProvider = new BufferedWaveProvider(new WaveFormat());
private static DirectSoundOut _waveOut;
public static void AddSamples(byte[] buffer)
{
WaveProvider.AddSamples(buffer, 0, buffer.Length);
}
public static void Run()
{
_waveOut = new DirectSoundOut();
_waveOut.Init(WaveProvider);
_waveOut.Play();
}
}
如果您有任何问题,请在评论中告诉我