gsyVideoPlayer点击/拖动进度条播放视频会回退

本文介绍了解决使用GSYVideoPlayer播放器时,拖动视频进度条出现回弹现象的方法。该问题源于ijk的FFMPEG对关键帧的支持不足。通过设置VideoOptionModel并启用准确寻址功能,可以有效改善拖动视频时的用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决办法:https://github.com/CarGuo/GSYVideoPlayer/blob/master/doc/QUESTION.md

第六点

6、为什么拖动视屏会弹回来,因为ijk的FFMPEG对关键帧问题。

可以尝试以下设置

VideoOptionModel videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1);
List<VideoOptionModel> list = new ArrayList<>();
list.add(videoOptionModel);
GSYVideoManager.instance().setOptionModelList(list);
### 实现 Tauri 中拖拽视频进度条控制视频播放 在现代 Web 开发中,HTML5 提供了 `<video>` 标签用于嵌入视频内容并允许基本交互操作。为了实现在 Tauri 应用程序内通过拖拽进度条来控制视频播放的功能,可以利用 HTML 的原生事件处理机制以及 JavaScript 来增强用户体验。 #### 创建基础结构 首先,在项目中的 HTML 文件里定义一个简单的布局,包含一个视频元素和一个自定义样式的时间轴滑块: ```html <video id="myVideo" controls> <source src="your-video-file.mp4" type="video/mp4"> </video> <input type="range" min="0" max="100" value="0" class="slider" id="seekbar"/> ``` #### 添加 CSS 样式调整外观 为了让组件看起来更美观,可以通过添加一些 CSS 样式来自定义这些控件的显示效果[^1]: ```css .slider { width: 100%; } ``` #### 编写 JavaScript 控制逻辑 接下来编写一段脚本来监听用户的动作,并据此更新视频的位置。这里的关键在于同步 `input[type=range]` 和 `<video>` 元素的状态变化: ```javascript const video = document.getElementById('myVideo'); const seekBar = document.getElementById('seekbar'); // 更新时间线当视频播放位置改变时 video.addEventListener('timeupdate', () => { const percentage = (video.currentTime / video.duration) * 100; seekBar.value = percentage; // 将当前播放百分比设置给滑动条 }); // 当用户移动滑动条时更改视频播放位置 seekBar.addEventListener('input', () => { const timeToSeek = (seekBar.value / 100) * video.duration; video.currentTime = timeToSeek; // 设置新的播放时刻 }); ``` 上述代码片段展示了如何创建一个可互动的界面元件组合,使得用户能够直观地通过拖曳进度条的方式精确调节正在播放的内容位置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值