首页 > 解决方案 > 在播放期间或播放结束时点击视频后的自定义操作

问题描述

我的用例:我有一个图像是视频的预览。当用户点击预览时,视频应该开始全屏播放(我想在另一个表单中)。当视频结束或用户在播放过程中点击视频时,应显示上一个表单。这是问题的相同用例:Codename One Landscape oriented Form in a portrait locked app

我的问题:MediaPlayer该类似乎没有公开在按下视频或视频结束时执行自定义操作的方法,就像这个用例所要求的那样。这MediaPlayer是一个对等组件,所以我不确定尝试使用按钮作为领导组件是否可以在点击后执行操作。任何的想法?

标签: codenameone

解决方案


不幸的是,从这个意义上说,媒体相当复杂。您可以依赖本机的媒体播放器的行为,它可以无缝地处理方向更改、播放等(搜索等)。或者,您可以在媒体对象中自己实现所有内容,在这种情况下,您可以使用原生对等覆盖,并在媒体视图顶部有一个透明组件,它将抓取所有点击。

前者将提供更原生的 UX 并自动旋转 UI,但我们无法控制,因为没有Form底层 UI。它在您调用时显示setNativePlayerMode(true)。在这种情况下,当您点击视频时,它会暂停。要退出播放,您将使用设备本机键,例如后退或完成按钮,并将返回给父级Form。请注意,由于这是本机行为,它在设备上的作用不同,因此在此处进行设备测试很重要。

您的替代方法是将媒体组件放置在屏幕中央,然后您可以覆盖所有内容并自定义所有内容。您可以在顶部放置分层布局并获取所有点击事件。您将需要添加自己的进度、播放、暂停等 UI 元素。用户需要物理旋转设备,因为方向不会自行切换(大部分情况下)。


推荐阅读