2

我在这里有一个关于我的问题的工作示例。基本上:当我将 LibVLCSharp MediaPlayerElement 直接放入 MainPage.xaml 时,我可以播放。当我尝试通过将 MediaPlayerElement 托管在可以在应用程序的多个部分中使用的 ContentView 中来创建可重用控件时,我得到的只是黑屏。唯一的区别似乎是将它托管在 ContentView 中。

最终,我的目标是创建一个可重用的单一类,我可以在 Xamarin 应用程序的多个部分中使用它来呈现视频,而无需复制和粘贴代码。我发现在 XAML 中设置我想要设置的属性(清除播放/停止等控件)是最稳定的。所以我倾向于将我的可重用组件实现为 ContentView 并在多个地方引用它。

有没有人知道为什么我在这个例子中会出现黑屏?

4

1 回答 1

1

看到这一行:https ://github.com/kwende/LibVLCSharpContentView/blob/65fd9c2bf1afc97374a9052c86b9c066934f7b7d/LibVLCSharpContentView/LibVLCSharpContentView/VideoPlayer.xaml.cs#L28

您的 MediaPlayer 不是 Bindable 属性/不会引发 PropertyChanged,因此 VideoViewnull在加载时使用媒体播放器进行初始化,并且即使在启动之后也不会更改。

于 2020-12-05T15:12:25.697 回答