Встраивание видео на YouTube в универсальное приложение на платформе Windows - PullRequest
0 голосов
/ 13 апреля 2020

Я использую windows template studio для создания приложения UWP. Для этого я выбрал шаблон treeView для размещения своих данных. Мой вопрос заключается в том, как вставлять видео YouTube на мою страницу treeView. Я должен сохранить все URL-адреса YouTube в моем файле службы данных и связать их со своей страницы xaml.

YouTubeId в виде строки.

Использование шаблона CodeBehind.

Я застрял здесь.

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 14 апреля 2020

Сначала выберите место, где вы хотите разместить свои видео на YouTube. Я создал шаблонное приложение windows и поместил элемент управления MediaPlayerElement в " CompanyTemplate " в TreeViewPage.xaml для воспроизведения видео. Затем элемент по умолчанию связывается со свойством SampleCompany, поэтому я добавил в него свойство url (например, string VideoPath). Поскольку строковое значение не может быть напрямую передано в качестве источника MediaPlayerElement, необходимо добавить метод Converter для преобразования строки в MediaSource. Например:

.TreeViewPage.xaml:

<views:SourceConverter x:Key="MyConverter"></views:SourceConverter>
<DataTemplate x:Key="CompanyTemplate" x:DataType="model:SampleCompany">
    <winui:TreeViewItem AutomationProperties.Name="{x:Bind CompanyName}" ItemsSource="{x:Bind Orders}" IsExpanded="False">
        <MediaPlayerElement Source="{x:Bind VideoPath,Converter={StaticResource MyConverter}}" AutoPlay="True" Margin="{StaticResource XXSmallTopRightBottomMargin}"></MediaPlayerElement>
    </winui:TreeViewItem>
</DataTemplate>

.TreeViewPage.xaml.cs:

public class SourceConverter : IValueConverter
{
    public object Convert(object value, Type targetType,
        object parameter, string language)
    {

        Uri pathUri = new Uri(value as string);
        return MediaSource.CreateFromUri(pathUri);
    }

    // ConvertBack is not implemented for a OneWay binding.
    public object ConvertBack(object value, Type targetType,
        object parameter, string language)
    {
        throw new NotImplementedException();
    }
}

Вы можете изменить приведенные выше примеры в соответствии с реальной ситуацией .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...