Pcm16BitToSampleProvider を使用して WaveProvider16 を SampleProvider に変換しました。次に、それを MixingSampleProvider に追加しました。ログは、両方が IeeeFloat であることを示していました。しかし、プログラムは AddMixerInput 行で停止し、エラーはすべてのミキサー入力が同じ WaveFormat でなければなりませんでした。
私が逃したものについて何か考えはありますか?
myWaveProvider = new MyWaveProvider16();
mySampleProvider = new Pcm16BitToSampleProvider(myWaveProvider);
mixerBusWaveFormat = WaveFormat.CreateIeeeFloatWaveFormat(8000, 1);
myMixer = new MixingSampleProvider(mixerBusWaveFormat);
myMixerSampleSource = new MixerSampleSource();
Debug.WriteLine("mySampleProvider waveformat: " + mySampleProvider.WaveFormat.ToString());
Debug.WriteLine("myMixer waveformat: " + myMixer.WaveFormat.ToString());
myMixer.AddMixerInput(mySampleProvider);
出力:
mySampleProvider の波形: IeeeFloat
myMixer 波形: IeeeFloat
タイプ 'System.ArgumentException' の初回例外が NAudio.dll で発生しました タイプ 'System.ArgumentException' の未処理の例外が NAudio.dll で発生しました
追加情報: すべてのミキサー入力は同じ WaveFormat でなければなりません