找不到SystemMediaTransportControls

时间:2018-09-10 12:46:08

标签: c# wpf windows-10

我正在使用JetBrains Rider用C#编写WPF应用程序。现在,我想播放MP3文件,并在音量栏旁边显示这些Windows 10媒体控件。我发现我需要使用SMTC或SystemMediaTransportControls来做到这一点。

但是,此类位于名称空间Windows.Media中,因此我在C#文件中添加了using Windows.Media;,但这导致了Cannot resolve symbol 'Windows'。当我尝试在“添加参考”对话框中添加对Windows.Media.dll的参考时,找不到任何内容。

我尝试直接编辑.csproj文件:

<Reference Include="Windows.Media">
  <HintPath>C:\Windows\System32\Windows.Media.dll</HintPath>
</Reference>

这会导致以下错误消息:

Reference wasn't resolved by MsBuild:
Resolved file has a bad image, no metadata, or is otherwise inaccessible. Could not load file or assembly 'Windows.Media.dll' or one of its dependencies. The module was expected to contain an assembly manifest.

我可以找到的唯一名称空间是System.Windows.Media,但这与Windows.Media不同。

那么我在哪里可以找到SMTC?为什么我不能使用Windows.Media

1 个答案:

答案 0 :(得分:1)

SystemMediaTransportControls用于UWP。但是您可以在WPF项目中使用UWP API。

遵循this blog post中概述的步骤。

基本上,请参考References->Add Reference->Browse...

中的这两个文件
C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Windows.winmd
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll

然后添加名称空间

using Windows.Media;