首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NAudio和DirectX 12

NAudio和DirectX 12
EN

Stack Overflow用户
提问于 2017-01-02 09:31:29
回答 1查看 554关注 0票数 0

在使用DirectX时,我得到了一个NAudio源错误。对于DirectX,我没有那么多的知识,所以我会欣赏一些指点。

在windows 10 PC上使用NAudio 12安装初始化DirectX时,收到的错误如下:

NAudio.Dmo.DmoResampler..ctor System.Runtime.InteropServices.COMException:使用CLSID检索组件的COM类工厂(F447B69E-1884-4A7E-8055-346F74D6DB3}由于以下错误而失败: 80040154类未注册( >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

好吧,很明显有些COM对象没有注册,那么该怎么办呢?

下面是调用NAudio的代码:

代码语言:javascript
复制
    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();
    }

故障发生在第一次调用时。

在任何平台上,DirectX 11都能很好地工作。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-02 20:36:27

Windows 10具有DirectX 9.0c,通过DirectX 12并行进行.这可能是一个更好的媒体基金会的问题。

GUID ({F447B69E-1884-4A7E-8055-346F74D6EDB3})似乎是Resampler (DirectX媒体对象)。DMOs是传统DirectShow技术的一部分,这些技术今天主要被媒体基金会API所使用--我不会进入"DirectShow“最初被称为"ActiveMovie”的痛苦历史,它最终被贴上了DirectX的品牌,但不用说,这一技术是2005年DirectX SDK中的删除

因此,我的问题是:您使用的是Windows 10的N版还是KN版?如果是,那么默认情况下它不包含媒体基础。您必须通过还原包安装它。见是谁移动了我的Windows媒体奶酪?

您可以尝试使用这个示例程序来确保GUID存在于您的计算机上。

如果您正在开发一个通用Windows平台(,UWP)应用程序,而不是传统的Win32桌面应用程序,那么对可用的转换也可能有一些可能影响您的限制。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41424212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档