Ich erhalte einen DirectX-Fehler, wenn ich NAudio verwende. Ich bin nicht so gut informiert, wenn es um DirectX geht, würde mich über einige Hinweise freuen.NAudio und DirectX 12
irrtümlich Ich erhalte, wenn sie auf einem Windows 10 PC mit DirectX 12 NAudio initialisiert immer installiert, ist dies:
NAudio.Dmo.DmoResampler..ctor System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {F447B69E-1884-4A7E-8055-346F74D6EDB3} failed due to the following error: 80040154 Class not registered (Exception from >HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
NAudio.Dmo.DmoResampler..ctor
NAudio.Wave.ResamplerDmoStream..ctor IWaveProvider inputProvider, WaveFormat outputFormat
NAudio.Wave.WasapiOut.Init IWaveProvider waveProvider
Sound.Support.AudioPlaybackEngine..ctor MMDevice device, Int32 sampleRate, Int32 channelCount
Sound.Manager.PerformInitialization
Analyze.ViewModels.ApplicationViewModel.InitSoundManager
Okay, es ist ziemlich offensichtlich einig COM-Objekt ist nicht registriert, so was zu tun ist?
Hier ist der Code Aufruf NAudio:
public AudioPlaybackEngine(MMDevice device, int sampleRate = 44100, int channelCount = 2)
{
Device = device;
mOutputDevice = new WasapiOut(device,
AudioClientShareMode.Shared,
true,
200);
mMixer = new MixingSampleProvider(WaveFormat.CreateIeeeFloatWaveFormat(sampleRate, channelCount))
{
ReadFully = true
};
mMixer.MixerInputEnded += OnMixerInputEnded;
mOutputDevice.Init(mMixer);
mOutputDevice.Play();
}
Der Fehler tritt beim ersten Anruf.
Das auf DirectX funktioniert gut 11, auf jeder Plattform
Irgendwelche Gedanken?
Es ist seltsam, da der Kunde, der das Problem hat, in den USA ist und es auf zwei verschiedenen Maschinen sieht. Zumindest gibt mir das einen Weg nach unten, um das Problem zu finden. (Es ist eine einfache alte WPF-App, wenn es so etwas gibt). Danke für die Hinweise. – WyomingDoug