CSCore - 不适用于特定设备

CSCore - not working for a specific device

我正在使用 CScore 播放 mp3 文件,

首先,我的 public 部分有这个 public MMDevice SelfDevice;

接下来,我使用此代码获取默认播放设备:-

MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
SelfDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);

现在 selfDevice 具有默认播放设备。 然后,我运行这段代码播放一个mp3文件

 if (CSCore.SoundOut.WasapiOut.IsSupportedOnCurrentPlatform)

                _soundOutToSelf = new CSCore.SoundOut.WasapiOut() { Device = SelfDevice };
            else
                _soundOutToSelf = new DirectSoundOut();

            var source = CodecFactory.Instance.GetCodec(pathToMP3())
                .Loop()
                .ChangeSampleRate(32000)
                .ToSampleSource()
                .AppendSource(Equalizer.Create10BandEqualizer)
                .ToWaveSource();

            _soundOutToSelf.Initialize(source);

            _soundOutToSelf.Play();
            _soundOutToSelf.Volume = 1;
            MessageBox.Show(SelfDevice.FriendlyName);

它可以工作,但只有当我将我的 HDMI 音频设置为我的默认播放设备时,当我的扬声器处于默认状态时它不播放音乐,而且消息框返回正确的播放设备名称,所以没有问题设备变量。这里有什么问题?

另外,我尝试创建一个新项目 运行 那里的代码并且它工作没有任何问题,所以当它工作时我恢复到项目的旧版本,但现在它不工作任何一个。 删除了debug文件夹,问题依旧

编辑:我发现我可以通过更改程序的程序集名称来解决问题,但我仍然不知道为什么 windows 阻止了我的程序?

更改程序集名称或创建新项目可以解决问题,仍然不知道真正的原因是什么。