CSCore - не работает для определенного устройства

я использую CScore для воспроизведения mp3 файла,

во-первых, у меня есть это на моем общедоступном частичном 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 Audio в качестве устройства воспроизведения по умолчанию, он не воспроизводит музыку, когда мои динамики установлены по умолчанию, также окно сообщений возвращает правильное имя устройства воспроизведения, поэтому нет проблем с переменной устройства. в чем проблема?

Кроме того, я попытался создать новый проект и запустить там код, и он работал без проблем, поэтому я вернулся к более старой версии проекта, когда он работал, но теперь он тоже не работает. я удалил папку отладки, и проблема все еще возникает.

введите здесь описание изображения

РЕДАКТИРОВАТЬ: я обнаружил, что могу решить проблему, изменив имя сборки программы, но я до сих пор не знаю, почему Windows блокирует мою программу?


person kurdish devil    schedule 27.02.2020    source источник


Ответы (1)


изменение имени сборки или создание нового проекта устраняет проблему, но до сих пор не знаю, в чем настоящая причина.

person kurdish devil    schedule 27.02.2020