在 .NET MAUI 中的 collectionview 中使用 MediaElement 如何在导航到另一个页面或播放另一个视频时停止播放视频

问题描述 投票:0回答:1

在我的主页中,我绑定到公开 ObserveableCollection FactItems 的 MainViewModel。 FactItems 是从模拟的 Dataservice 类填充的。

在我的 XAML 中,我有一个带有 ItemTemplate 的 CollectionView,其中包含 Label 和 MediaElement。当我运行应用程序时,我会按预期在列表中看到标签和 MediaElement 控件。我还可以播放/停止视频。

在当前行为中,如果我正在播放一个视频,我可以单击另一个视频开始播放,并且两个视频现在都将播放音频。我想要的理想情况是,如果一个视频正在播放并且我开始播放另一个视频,我希望前一个视频停止播放。另外,如果我将视频滚动到屏幕之外,我希望能够停止任何视频播放。我不确定这是否可能。 到目前为止,我的测试是使用 Android 模拟器。 我不知道如何从 ViewModel 或隐藏代码引用各个 MediaElement 控件。我尝试使用事件 UnFocused/Focused 和 MediaStateChanged,但这并没有给我提供对特定项目的引用。

我已将我的项目上传到 github 以获取更多背景信息。

c# maui mediaelement
1个回答
0
投票

在 iOS 上,我们很多人在 CollectionView 中使用 MediaElement 时都会遇到此错误:

发生错误:“抛出 Objective-C 异常。名称:UIViewControllerHierarchyInconsistency 原因:子视图控制器: 应该有父视图控制器: 但实际父视图控制器是:

如果有任何已知的解决方案,请分享。预先感谢您。

© www.soinside.com 2019 - 2024. All rights reserved.