【问题标题】:Media source does not anything媒体源没有任何作用
【发布时间】:2019-11-21 20:45:21
【问题描述】:

我正在尝试在 UWP 应用中实现 Media Player Element,但我似乎无法让 Source 工作。当我访问此页面时,它没有显示媒体播放器,我无法播放。

代码隐藏

public sealed partial class MoviesOverview : Page
{
        public MoviesOverview()
        {
            this.InitializeComponent();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            vm.Movie = SerializationService.Json.Deserialize<Movie>(e.Parameter.ToString());
            SetSource();
        }

        private void SetSource()
        {
            mediaPlayer.Source = MediaSource.CreateFromUri(new Uri($"ms - appx:///Assets/Movies/{vm.Movie.Title}.mp4"));
        }
}

使用媒体播放器元素

<MediaPlayerElement x:Name="mediaPlayer" Height="720" Width="1280" HorizontalAlignment="Center" VerticalAlignment="Center" />

【问题讨论】:

  • 我认为“ms-appx://...”中不允许有空格
  • 嗨@RomanR。它会抛出异常,如果ms-appx:// 包含空格。
  • 嗨@Mout Pessemier 以下答案对你有用吗?
  • @RomanR。在 - 之间放置空格或删除它们不会改变任何事情

标签: uwp windows-media-player


【解决方案1】:

媒体源没有任何作用

您可以检查此行$"ms - appx:///Assets/Movies/{vm.Movie.Title}.mp4"。请不要在ms-appx:/// 中添加空格。然后在 uri 上方打印并确保媒体文件存在于Assets/Movies 文件夹中。 MediaPlayerElement 默认无法自动播放。请将AutoPlay 属性设置为 true,如下所示。

<MediaPlayerElement
    x:Name="mediaPlayer"
    Width="1280"
    Height="720"
    HorizontalAlignment="Center"
    VerticalAlignment="Center"
    AutoPlay="True"
    />

代码背后

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    SetSource();

}
private void SetSource()
{
    mediaPlayer.Source = MediaSource.CreateFromUri(new Uri($"ms-appx:///Assets/{"test"}.mp4"));
}

【讨论】:

  • 我一直在尝试修复它,即使对资源使用硬编码字符串,但我似乎无法让它发挥作用。它甚至不显示媒体播放器
  • 能否尝试将文件路径(ms-appx:///Assets/test.mp4)添加到xaml中进行测试?
  • 问题不在于我的 Uri,而是因为 Visual Studio 没有包含这些资产,我不得不手动包含它们(不知道可以)。之后的空间是问题,所以谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多