Я использую CScore для воспроизведения mp3-файла,
сначала, у меня это на моем пабли c частичное 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 в качестве устройства воспроизведения по умолчанию, он не воспроизводит музыку c, когда мои динамики по умолчанию Кроме того, окно сообщения возвращает правильное имя устройства воспроизведения, поэтому нет проблем с переменной устройства. в чем здесь проблема?
также я попытался создать новый проект и запустить там код, и он работал без проблем, поэтому я вернулся к более старой версии проекта, когда он работал, но теперь это тоже не работает. я удалил папку отладки, и проблема по-прежнему возникает.
![enter image description here](https://i.stack.imgur.com/285na.png)
РЕДАКТИРОВАТЬ: я обнаружил, что могу исправить проблему, изменив имя сборки программы, но я до сих пор не знаю, почему windows блокирует мою программу?