【问题标题】:CSCore - not working for a specific deviceCSCore - 不适用于特定设备
【发布时间】:2020-02-28 00:28:48
【问题描述】:

我正在使用 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 音频设置为我的默认播放设备时,当我的扬声器默认时它不播放音乐,消息框也返回正确的播放设备名称,所以设备变量没有问题.这里有什么问题?

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

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

【问题讨论】:

    标签: c# cscore


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 2016-06-08
      • 2020-08-24
      • 1970-01-01
      相关资源
      最近更新 更多