IOS UIVideoPlayer 视频不退出界面


最近游戏项目中添加视频发现在IOS 下视频播放完毕回调中将视频隐藏没有效果 ,但是同样的代码在android下却能执行。

  最后参考文章资料解决方式是在播放视频之前加上

Director::getInstance()->stopAnimation();
在视频播放完毕加上

Director::getInstance()->startAnimation();
然后视频从父节点移除,视频退出界面的功能就实现了




在前端React项目中,要实现在iOS上看视频退出全屏但视频不暂停的效果,可以通过监听全屏状态的变化并适当处理视频播放来实现。以下是实现这一功能的基本步骤: 1. 使用HTML5的`<video>`标签播放视频,因为它支持iOS的全屏API。 2. 监听全屏状态变化的事件,比如使用`fullscreenchange`或`webkitfullscreenchange`事件。 3. 在事件处理函数中检查当前的全屏状态,可以使用`document.fullscreenElement`、`document.webkitFullscreenElement`等属性来获取当前是否处于全屏状态。 4. 根据全屏状态,决定是否暂停或继续播放视频。如果退出全屏时希望视频继续播放,那么不需要执行暂停操作。 5. 为视频元素添加适当的CSS样式,确保在全屏模式下视频能够正确显示。 示例代码如下: ```javascript // 假设有一个videoRef来引用视频元素 class VideoPlayer extends React.Component { constructor(props) { super(props); this.videoRef = React.createRef(); this.handleFullscreenChange = this.handleFullscreenChange.bind(this); } componentDidMount() { // 监听全屏变化事件 document.addEventListener('fullscreenchange', this.handleFullscreenChange); document.addEventListener('webkitfullscreenchange', this.handleFullscreenChange); } componentWillUnmount() { // 移除事件监听,防止内存泄漏 document.removeEventListener('fullscreenchange', this.handleFullscreenChange); document.removeEventListener('webkitfullscreenchange', this.handleFullscreenChange); } handleFullscreenChange() { const isFullScreen = !!( document.fullscreenElement || document.webkitFullscreenElement ); // 在这里处理退出全屏后的逻辑,比如重新开始播放 if (!isFullScreen) { // 假设视频是暂停的,重新播放 if (this.videoRef.current.paused) { this.videoRef.current.play(); } } } render() { return ( <video ref={this.videoRef} controls> <source src="your-video.mp4" type="video/mp4" /> 您的浏览器不支持 HTML5 video 标签。 </video> ); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值