【发布时间】:2021-11-29 04:15:39
【问题描述】:
我正在尝试创建通过网络接收的数据的低延迟播放。由于低延迟的要求,我选择了 WasapiOut(尝试了共享/独占,使用/不使用事件同步,25 或 50 毫秒)。我有一个 MixingSampleProvider(IEEE,44.1 kHz,尝试使用一个或两个通道)输入到 WasapiOut,因为我将有几个流要播放。
如果我使用共享访问,我会从 HRESULT 0x88890003 中得到一个异常,如果我使用独占访问,我会得到“找不到支持的格式来使用”。
我基于 NAudioDemo 应用程序,即音频播放演示。在我看来,唯一的区别是我想要一个混音器。这不可能吗?
var waveFormat = WaveFormat.CreateIeeeFloatWaveFormat(44100, 1);
this.mixer = new MixingSampleProvider(waveFormat)
{
ReadFully = true
};
try
{
using (this.audioOut = new WasapiOut(selectedDevice, AudioClientShareMode.Exclusive, false, 25))
{
this.audioOut.Init(this.mixer);
this.audioOut.Play();
}
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
【问题讨论】:
标签: naudio