Je reçois une erreur provenant de DirectX lors de l'utilisation de NAudio. Je ne suis pas si compétent quand il s'agit de DirectX, donc j'apprécierais quelques conseils.NAudio et DirectX 12
erreur de là que je reçois lors de l'obtention NAudio initialisé sur un ordinateur Windows 10 PC avec DirectX 12 installer est ceci:
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
D'accord, il est un objet COM assez évident est pas enregistré, alors que faire?
Voici le code invoquant 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();
}
Le défaut se produit sur le premier appel.
Cela fonctionne très bien sur DirectX 11, sur toute plate-forme
Toute pensée?
Il est étrange que le client rencontrant le problème se trouve aux États-Unis et le voit sur deux machines différentes. Au moins, cela me donne une route vers le bas pour commencer à trouver le problème. (C'est une ancienne application WPF s'il y a une telle chose). Merci pour les pointeurs. – WyomingDoug