UWP MediaPlayerElement不';我不放任何声音

UWP MediaPlayerElement不';我不放任何声音,uwp,windows-media-player,Uwp,Windows Media Player,我尝试在UWP应用程序中播放mp3。在下面的简单代码中,它不播放任何声音和视频文件。没有错误消息。XAML控件库中的示例运行良好 private void Button_Click(object sender, RoutedEventArgs e) { MediaPlayerElement _MediaPlayerElement = new MediaPlayerElement(); _MediaPlayerElement.Source = MediaSource.Create

我尝试在UWP应用程序中播放mp3。在下面的简单代码中,它不播放任何声音和视频文件。没有错误消息。XAML控件库中的示例运行良好

private void Button_Click(object sender, RoutedEventArgs e)
{
    MediaPlayerElement _MediaPlayerElement = new MediaPlayerElement();

    _MediaPlayerElement.Source = MediaSource.CreateFromUri(new Uri("D:/alarm.wav"));

    _MediaPlayerElement.AutoPlay = true;
}

使用FileOpenPicker没有任何区别,文件路径和名称输入似乎不是原因。我缺少什么?

首先,当您在代码隐藏中创建MediaPlayerElement控件时,需要将其添加到父面板以在前景中显示。在这种情况下,它将发挥作用

此外,uri也不正确。您可以使用URI方案引用来自应用程序包、数据文件夹或资源(而不是D驱动器)的应用程序文件。如果要使用完整路径播放,可以使用
StorageFile.GetFileFromPathAsync()
方法或FileOpenPicker获取文件,然后将文件传递到
MediaSource.CreateFromStorageFile()
方法设置源

private void Button_Click(object sender, RoutedEventArgs e)
{
    MediaPlayerElement _MediaPlayerElement = new MediaPlayerElement();
    //uri
    _MediaPlayerElement.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/xxx.mp3"));

    //file path
    //StorageFile file = await StorageFile.GetFileFromPathAsync(@"D:\xxx.mp3");
    //_MediaPlayerElement.Source = MediaSource.CreateFromStorageFile(file);
    _MediaPlayerElement.AutoPlay = true;

    MyBigPanel.Children.Add(_MediaPlayerElement);
}