Источник СМИ ничего не делает

Я пытаюсь реализовать Media Player Element в приложении UWP, но не могу заставить работать 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" />

person Mout Pessemier    schedule 21.11.2019    source источник
comment
Я не думаю, что пробелы разрешены в ms-appx://...   -  person Roman R.    schedule 22.11.2019
comment
привет @RomanR. это вызовет исключение, если ms-appx:// содержит пробел.   -  person Nico Zhu - MSFT    schedule 22.11.2019
comment
Привет @Mout Pessemier Работает ли следующий ответ на вашей стороне?   -  person Nico Zhu - MSFT    schedule 26.11.2019
comment
@РоманР. размещение пробелов между - или их удаление ничего не меняет   -  person Mout Pessemier    schedule 26.11.2019


Ответы (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"));
}
person Nico Zhu - MSFT    schedule 22.11.2019
comment
Я пытался исправить это, даже с жестко запрограммированной строкой для ресурса, но я просто не могу заставить ее играть. Не показывает даже медиаплеер - person Mout Pessemier; 27.11.2019
comment
Не могли бы вы попробовать добавить путь к файлу (ms-appx:///Assets/test.mp4) в xaml для тестирования? - person Nico Zhu - MSFT; 27.11.2019
comment
Проблема была не в моем Uri, а в том, что Visual Studio не включала эти активы, мне пришлось включать их вручную (не знал, что это возможно). После пробелы были проблемой, так что спасибо! - person Mout Pessemier; 28.11.2019