xamarin 如何设置按钮点击时MediaElement的位置?

8ulbf1ek  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(78)

我正在开发一个Xamarin Forms应用程序,现在我正在尝试在MediaElement中实现自定义视频控件,但我没有这样做,谷歌搜索也没有多大帮助。
基本概述,我有一个MediaElement播放视频,我有两个按钮,在视频的每一边,我希望用户能够按下和倒带或快进5秒.按钮识别被点击,但不做我想他们,我不知道我做错了什么.这里是我的代码:

Page.xaml
...
<Grid BackgroundColor="#E5EBEE">

        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="150"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="150"/>
        </Grid.ColumnDefinitions>
        <MediaElement x:Name="LessonVideo"
                      Source="ms-appx:///vid_IntroDemo.mp4" 
                      ShowsPlaybackControls="False"
                      IsLooping="True" 
                      Aspect="AspectFill" 
                      AutoPlay="True" 
                      KeepScreenOn="True"
                      HorizontalOptions="FillAndExpand"
                      VerticalOptions="FillAndExpand"
                      Grid.ColumnSpan="3"
                      />
        <BoxView Opacity="0.0" BackgroundColor="#00C2FF"/>
        <Button x:Name="Back" BackgroundColor="Yellow" Grid.Column="0" Opacity="0.2" Clicked="RewindVideo"></Button>
        <Button x:Name="Forward" BackgroundColor="Red" Grid.Column="2" Opacity="0.2"></Button>
    </Grid>

字符串

Page.xaml.cs
...
private void RewindVideo(object sender, EventArgs e)
        {
            if (LessonVideo.CanSeek) 
            {
                LessonVideo.Position = TimeSpan.FromSeconds(LessonVideo.Position.TotalSeconds - 5);
            }
            
        }


我已经尝试停止和播放视频,但似乎没有什么工作。帮助我,并指出我在正确的方向如何解决这个问题。提前谢谢你。

s2j5cfk0

s2j5cfk01#

使用.NET MAUI Community Toolkit,我已经能够使用SeekTo()方法实现播放位置控制:

MyMediaElement.SeekTo(TimeSpan.FromSeconds(newPositionInSeconds));

字符串
我个人实现了一个 Slider 控件来实现这一点,我必须在调用SeekTo()之前暂停音乐
如果你有兴趣看看它的实际应用,我已经写了一系列关于MediaElement的文章。你可以从here开始。

相关问题