首页 > 解决方案 > VolumeSampleProvider 的简单替代方案,将具有左右音量属性

问题描述

在我正在制作的聊天应用程序中尝试播放音频时,我在这一行中遇到异常 {"Source sample provider must be mono"} var panProvider = new PanningSampleProvider(volumeProvider); 代码:

 private void ReceiveUdpMessage(IAsyncResult ar)
        {
            try
            {
                byte[] bytesRead = UDPc.EndReceive(ar, ref ep);
                var waveProvider = new BufferedWaveProvider(new WaveFormat(44100, 16, 2));
                waveProvider.DiscardOnBufferOverflow = true;
                waveProvider.AddSamples(bytesRead, 0, bytesRead.Length);
                var volumeProvider = new VolumeSampleProvider(waveProvider.ToSampleProvider());
                var panProvider = new PanningSampleProvider(volumeProvider);
                
                mixer.AddMixerInput(panProvider);
                UDPc.BeginReceive(new AsyncCallback(ReceiveUdpMessage), null);
            }
            catch(Exception ex)
            {

            }
       UDPc.BeginReceive(new AsyncCallback(ReceiveUdpMessage), null);


        }

我看到了这个答案Implementing Output audio panning with Naaudio 但是当标记在评论中回答时:“我会做一个非常简单的替代 VolumeSampleProvider 的替代品,在这种情况下它具有左右音量属性”。他没有详细说明,我对此很陌生,所以不知道从这里做什么。有人知道我该怎么做吗?谢谢

标签: visual-studionaudio

解决方案


推荐阅读