媒体播放器元素不在PC上播放声音,但在手机上播放



我已经在XAML中设置了媒体播放器,并且我从Music Folder中播放一些声音,它在我在电话上测试时可以使用此错误消息在我的计算机上进行测试:

错误:不支持的视频类型或文件路径

我有一段时间的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

指向声音的确切位置!

错误信息在说"不支持的视频类型或文件路径",因此首先,此问题的解决方法是使用Storagefile而不是路径:

mediaPlayer.Source = MediaSource.CreateFromStorageFile(videoFile);

实际上我们需要避免使用路径。UWP使用StorageItems类(即存储文件和存储文件(,该类具有通过代理流程提供文件的完全特权。它表示一个文件,但不限于文件系统对象,该应用程序处理存储文件,并且不需要知道或关心数据源于磁盘上还是在另一个应用程序中。这样,您使用文件的工作更加容易。

最新更新