MediaPlayerElement 不在 PC 上播放声音,但在 Phone 上播放
MediaPlayerElement don't play sound on Pc, but does on Phone
我在 XAML 中设置了一个 MediaPlayerElement,我从 Music 文件夹中播放了一些声音,当我在 phone 上测试它时它可以工作,但在我的计算机上没有这个错误消息:
错误:不支持的视频类型或文件路径
我 google 有一段时间了,一些建议说应该安装该应用程序才能访问文件(如音乐文件)
这是XAML:
<MediaPlayerElement Name="mediaPlayerElement" AutoPlay="False" AreTransportControlsEnabled="True" Stretch="UniformToFill"/>
至于 C#:
private void playSound(object sender, ItemClickEventArgs e)
{// triggered when I click a sound
var soundToPlay = (Sound)e.ClickedItem;
mediaPlayer.Source = MediaSource.CreateFromUri(new Uri(this.BaseUri, soundToPlay.Path.ToString()));
mediaPlayerElement.SetMediaPlayer(mediaPlayer);;
}
public class Sound
{
public string Title { get; set; }
public string Path { get; set; }
public string Duration { get; set; }
public ImageSource Poster { get; set; }
}// and there is a class to get List<Sound>
当我调试这段代码时;结果是
soundToPlay
指向声音的准确位置!
错误信息显示 "Unsupported video type or file path",所以首先,解决此问题的方法是使用存储文件而不是路径:
mediaPlayer.Source = MediaSource.CreateFromStorageFile(videoFile);
实际上我们需要避免使用路径。 UWP 使用 StorageItems 类(即 StorageFolder 和 StorageFile),它通过代理进程对文件拥有完全权限。它代表一个文件,但不限于文件系统对象,应用程序处理 StorageFile,不需要知道或关心数据是来自磁盘还是来自另一个应用程序。这样,您的文件操作会更轻松。
我在 XAML 中设置了一个 MediaPlayerElement,我从 Music 文件夹中播放了一些声音,当我在 phone 上测试它时它可以工作,但在我的计算机上没有这个错误消息:
错误:不支持的视频类型或文件路径
我 google 有一段时间了,一些建议说应该安装该应用程序才能访问文件(如音乐文件)
这是XAML:
<MediaPlayerElement Name="mediaPlayerElement" AutoPlay="False" AreTransportControlsEnabled="True" Stretch="UniformToFill"/>
至于 C#:
private void playSound(object sender, ItemClickEventArgs e)
{// triggered when I click a sound
var soundToPlay = (Sound)e.ClickedItem;
mediaPlayer.Source = MediaSource.CreateFromUri(new Uri(this.BaseUri, soundToPlay.Path.ToString()));
mediaPlayerElement.SetMediaPlayer(mediaPlayer);;
}
public class Sound
{
public string Title { get; set; }
public string Path { get; set; }
public string Duration { get; set; }
public ImageSource Poster { get; set; }
}// and there is a class to get List<Sound>
当我调试这段代码时;结果是
soundToPlay
指向声音的准确位置!
错误信息显示 "Unsupported video type or file path",所以首先,解决此问题的方法是使用存储文件而不是路径:
mediaPlayer.Source = MediaSource.CreateFromStorageFile(videoFile);
实际上我们需要避免使用路径。 UWP 使用 StorageItems 类(即 StorageFolder 和 StorageFile),它通过代理进程对文件拥有完全权限。它代表一个文件,但不限于文件系统对象,应用程序处理 StorageFile,不需要知道或关心数据是来自磁盘还是来自另一个应用程序。这样,您的文件操作会更轻松。