UWP MediaPlayerElement 不播放任何声音
UWP MediaPlayerElement doesn't play any sound
我尝试在 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()
方法设置Source。
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);
}
我尝试在 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()
方法设置Source。
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);
}