【发布时间】:2017-10-03 19:24:07
【问题描述】:
最后解决。
我很难按照 MVVM 模式在 uwp 中找到有关 youtubeplayer 的信息。
<MediaElement>和<WebView>在这种情况下有什么区别,哪个更好/更容易使用?如何在我的 VM 中处理播放器的事件?
VS2017 告诉我不能使用 MediaPlayerElement
我尝试了 VS2017 的其他版本/构建,但得到了同样的错误。
- 还有其他方法可以做到这一点吗?
TY
编辑:
<WebView> 似乎很容易。使用它有什么缺点吗?
<WebView x:Name="webView" Width="300"
Height="225" Source="https://www.youtube.com/watch?v=2Rg1XmzzrTM"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.Below="linkYT"/>
编辑2:
感谢 Aditya Sharma,我走上了正确的道路并找到了this Question
所以我最终得到了以下结果:
查看:
<MediaElement x:Name="ytPlayer"
AreTransportControlsEnabled="True"
Source="{Binding Test1, Mode=OneWay}"
Width="600"
AutoPlay="True"
Height="400"/>
虚拟机:
public void doSomething()
{
...
test1 = new Uri(convertLink(currentMovie.TrailerSource));
...
}
private string convertLink(string link)
{
IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link, false);
VideoInfo video = videoInfos
.First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 720
);
return video.DownloadUrl;
}
Test1 是 Uri 类型,currentMovie.TrailerSource 是 string
为此,我必须获得 NuGet YouTubeExtractor。 希望这可以帮助某人完成 MVVM。
【问题讨论】:
-
如果您转到项目的属性,您可以更改 UWP 应用程序的目标版本(在“应用程序”选项卡中)
-
@Florian Moser 如果我将“最低版本”更改为与“目标版本”相同,我会收到 1634 错误(例如缺少 using-Directiv 或程序集参考)。