首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSCore -不适用于特定设备

CSCore -不适用于特定设备
EN

Stack Overflow用户
提问于 2020-02-27 22:18:41
回答 1查看 114关注 0票数 0

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

首先,我在我的公共部分public MMDevice SelfDevice;上有这个

接下来,我用下面的代码获取默认的播放设备:

代码语言:javascript
复制
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
SelfDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);

现在selfDevice有了默认的播放设备。然后,我运行此代码来播放一个mp3文件

代码语言:javascript
复制
 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作为我的默认播放设备,它不播放音乐时,我的扬声器是默认的,并且消息框返回正确的播放设备名称,所以设备变量没有问题。这里有什么问题?

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-28 00:28:48

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

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

https://stackoverflow.com/questions/60435282

复制
相关文章

相似问题

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