如何在WPF应用程序中使用SystemMediaTransportControls?

时间:2018-07-11 18:58:01

标签: c# wpf media-player

有什么方法可以在WPF中创建SystemMediaTransportControls对象吗?

我遵循this指南从我的WPF应用程序访问Windows 10 API。我可以调用该类,但不能创建对象。在UWP-App中,您可以这样创建它:

SystemMediaTransportControls smtp = SystemMediaTransportControls.GetForCurrentView();

但是通过在WPF中调用此方法,我在此行得到了"Invalid window handle"异常。

public partial class MainWindow : Window
{
    SystemMediaTransportControls smtp;

    public MainWindow()
    {
        InitializeComponent();
        //SMTP Einrichten
        smtp = SystemMediaTransportControls.GetForCurrentView();
    }

[...]
}

很明显,GetForCurrentView()在WPF中不起作用,但是可以使用什么呢?

1 个答案:

答案 0 :(得分:0)

桌面应用程序不支持

SystemMediaTransportControls。它只能在UWP应用中使用。

请参见UWP APIs callable from a classic desktop app,其中说:

  

如果未列出DualApiPartition属性

     

在这种情况下,API   不允许从经典桌面应用调用。   Windows.UI.Xaml.Controls.Button是一个示例。

SystemMediaTransportControls没有DualApiPartition属性。

您链接的指南的我怎么知道可用的API?部分引用了UWP APIs available to a packaged desktop app (Desktop Bridge)的列表,但这也没有列出SystemMediatTransportControls可用。