【问题标题】:How to show a video in each row in a stacklayout / listview [Xamarin.Forms]?如何在堆栈布局/列表视图 [Xamarin.Forms] 的每一行中显示视频?
【发布时间】:2021-12-30 11:58:37
【问题描述】:

我正在使用插件https://github.com/Baseflow/XamarinMediaManager,他们有视频支持。

我成功使用它并且能够播放视频,但是现在我尝试在堆栈布局列表中显示多个视频(类似于 instagram 或 twitter 提要),然后我们遇到了问题。

所以我将列表中的每个项目绑定到一个唯一的视频 URL,但是一旦我滚动列表,然后视频出现在彼此顶部的第一个/相同的视频在所有行上重复使用,即使它应该只是1.

 <StackLayout BindableLayout.ItemsSource="{Binding FlowList}">
       <BindableLayout.ItemTemplate>
            <DataTemplate>
                  <StackLayout>
                      <Label Text="{Binding Title}"/>

                      <mm:VideoView VerticalOptions="FillAndExpand"
                      AutoPlay="True"
                      Source="{Binding Video}"
                      VideoAspect="AspectFill"/>

                 </StackLayout>
             </DataTemplate>
         </BindableLayout.ItemTemplate>
  </StackLayout>

所以每行的标题加载良好,表明绑定等没有任何问题。如上所述的问题是所有行都出现相同的 1 个视频,即使它应该只出现在一个和每行都附有一个独特的视频,与标签的“标题”相同。

有人知道 MediaManager 插件是否存在限制/错误,以及是否有任何其他建议/路线可以去这里?

【问题讨论】:

  • 据我所知,目前MediaPlayer不支持单页播放多个视频。
  • 你知道支持这个的任何其他项目/github参考吗?
  • 我分叉了danylovolokh的Github。 github.com/WendyZang/VideoPlayerManager 他提供了 VideoPlayerManager,它由两个库组成,Video-Player-Manager 和 List-Visibility-Utils。它可以播放多个视频。您可以查看链接。

标签: xamarin xamarin.forms xamarin.ios


【解决方案1】:

您必须为您的 VideoView 提供适当的 HeightRequest,否则如果您没有设置它会产生问题。

【讨论】:

    【解决方案2】:

    您需要为视频查看器添加高度请求以解决您的问题。 通过从 Xaml 或 xaml.cs 添加

    【讨论】:

      猜你喜欢
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多