首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JAVA记录媒体视频播放进度开发 (实例干货)

搭建环境:springBoot + apache-maven-3.6.3 + mysql + Redisson3.15.4 项目背景 项目需要做一个记录视频播放进度的功能,有以下几点需要着重注意: 1...、点击视频,播放到几小时几分几秒,下次同一个人点击进来依然是当前时间段 2、当一个维度下有多个视频可以看,分开记录当前视频或者文档是否已经看完。...首先记录学习【媒体播放进度表】,应该包含: 已学习时长:用于判断当前是否已学完,当时长等于总长度三分二时。 媒体播放进度:用于返回给前端,上次已播放的位子。...既然是记录视频学习时长,所以前端肯定需要写一个定时器传json数据,为了防止调用频率太高,但又不能记录不到播放记录,所以定时时间定位15s一次。 SectionId:代表媒体视频或者文档的id。...(方便以后扩展使用) */ private Boolean first; } 准备完毕开始写接口,因为是一个节的进度记录,所以接口名称这样设计更合理: /** * 媒体进度 *

92430

【Android FFMPEG 开发】FFMPEG 视频播放进度控制 ( 显示播放进度 | 拖动进度播放 )

FFMPEG 播放进度控制 II . FFMPEG 播放视频 ( 效果展示 ) III . FFMPEG 获取视频时长 IV . FFMPEG 视频播放进度获取 V ....FFMPEG 设置播放进度 I ....FFMPEG 播放进度控制 ---- FFMPEG 播放进度控制 : 为 FFMPEG 播放视频添加拖动进度条功能 , 主要包含以下两个功能 ; 第一 , 进度更新 , 视频播放过程中 , 播放的同时更新当前的播放进度..., 界面中的进度条实时显示当前的播放进度 ; 第二 , 进度控制 , 拖动进度条 , 控制视频播放进度跳转 ; 进度控制前提 : 上述功能主要用于 视频播放 , 只有完整的视频才能添加进度控制功能 ,...FFMPEG 设置播放进度 : 传入一个播放进度后 , 首先将播放进度转成微秒值 , 然后调用 av_seek_frame 方法 , 传入一系列参数 , 即可完成 FFMPEG 播放本地视频文件的进度跳转

2.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android仿音乐播放器带进度播放暂停按钮

因为项目需要,要做一个下载暂停开始的按钮,要求按钮上显示进度。网上找了找没有合适的,不太满意,于是自己动手写了一个。 效果如下: ? 主要步骤: 1、最外侧的圆环。 2、圆环内侧代表进度的圆弧。...4、播放时在中心部位画出矩形。 5、重写onTouch方法,DOWN事件时设置播放或者暂停的状态。 6、添加一个状态监听器,在调用者中监听状态。 7、设置进度,重绘。...*/ private RectF rectF2 = new RectF(); /** 进度 */ private int progress; /** 暂停中还是播放中 */ private boolean...path.lineTo(pointC.x, pointC.y); path.close(); canvas.drawPath(path, paintC); } } /** 监听触摸DOWN时间,开始播放...,通过setProgress方法就可以设置进度

1K10

如何实现一个下载进度播放进度

一个主要问题是动画的滞后性:当下载进度到某个点的时候,你再用250ms的动画过渡过去,这个时候已经慢了,所以很多人可能因为这个原因或者嫌麻烦,直接就不做动画了,在进度事件触发的时候直接更新进度条相应的位置...获取下载进度 ajax里面可以拿到下载进度,如下代码所示: let xhr = new XMLHttpRequest(); const downloadUrl = 'installer.dmg';...如果是播放进度条的例子,需要监听video/audio元素的timeupdate事件,这个事件的触发约250ms(实测)触发一次,可以不用节流。效果如下图所示: ?...但如果下载速度很快的时候这个问题会更加明显,在播放进度条的例子便是如果进度条很长,但是播放的视频只有10几秒,那么应该也会比较明显。...所以我们可以记录一下上一次的位置,然后加多一个偏移,如下代码所示: let diffX = (event.loaded - lastMB) / event.total * containerWidth;

1.8K20

android UiAutomator获取视频播放进度的方法

本人在使用android UiAutomator做测试的时候,有时候需要统计视频播进度,然后去断言上传的进度数据正确与否。...具体的思路就是根据进度条的颜色区分,我选的红色,然后去计算各个点的数值,然后计算进度的百分比。 这是app的界面进度条的截图 ? 下面是我两次获取到的数据。 ?...InterruptedException, IOException, UiObjectNotFoundException, RemoteException { clickPiont(500, 500);//点击屏幕,显示播放进度条...bitmap = getBitmapByResourceId("com.genshuixue.student:id/view_video_coursede_control_seekbar");//获取播放空间的...: //获取视频播放进度条 public double getVideoProgress(Bitmap bitmap) { int height = bitmap.getHeight

68120

Android自定义View实现音频播放圆形进度

实现思路如下: 根据播放按钮的图片大小计算出圆形进度条的大小 根据音频的时间长度计算出圆形进度条绘制的弧度 通过Handler刷新界面来更新圆形进度条的进度 具体实现过程分析: 首先来看看自定义View...RectF mRectF; //画笔 private Paint mPaint; //画笔宽度 private int mCircleStoreWidth = 3; //最大进度值...private int mMaxProcessValue = 100; //进度值 private int mProcessValue; private int width;...private int height; //播放器按钮id值 private int bitmapPlay; private int bitmapStop; //播放器按钮Bitmap...,计算出进度条的相应的坐标放入RectF对象中,RectF对象是用来表示坐标系中的一块矩形区域,用于在特定的位置画图 然后我们就可以通过重写onDraw()方法来绘制View了 @Override

1.2K20

基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度

2.实现音乐播放(QMediaPlayer类/QMediaPlaylist类) 首先在.h中定义播放器和播放列表,然后在.cpp中实现音乐播放。...3.实现进度条更新以及文件时长显示 在ui界面拖入Horizontal Bar进度条和tabel(显示文件时长) 添加相关定义和自定义的槽函数: mainwindow.h //类中添加 private...void onPositionChanged(qint64 position); //当前文件播放位置变化,更新进度显示 //播放到什么位置的信号, 参数是以毫秒来计算的。...根据进度条传入的参数 } 效果如下: ?...4.存在BUG 1.进度条每次移动一段,而不是匀速移动。 2.在音乐播放中发现存在卡顿情况,将进度条删除,则流畅运行,应该是单线程的问题,更新进度条导致了音乐播放期间的卡顿。

5.5K51

基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度

文章目录 1.实现音频文件对话框(QFileDialog类) 2.实现音乐播放(QMediaPlayer类/QMediaPlaylist类) 3.实现进度条更新以及文件时长显示 4.存在BUG 完整项目已上传...3.实现进度条更新以及文件时长显示 在ui界面拖入Horizontal Bar进度条和tabel(显示文件时长) 添加相关定义和自定义的槽函数: mainwindow.h //类中添加 private...void onPositionChanged(qint64 position); //当前文件播放位置变化,更新进度显示 //播放到什么位置的信号, 参数是以毫秒来计算的。...根据进度条传入的参数 } 效果如下: 4.存在BUG 1.进度条每次移动一段,而不是匀速移动。...2.在音乐播放中发现存在卡顿情况,将进度条删除,则流畅运行,应该是单线程的问题,更新进度条导致了音乐播放期间的卡顿。

2K60

iOS_音频波形图Time、Wave实现,滑动设置播放进度

实现如下: 需要的数据源: 1、demo.mp3:音频文件 2、samplePoints 数组:每秒音量(0-1)数组,根据音频pcm采样数据文件计算出来的(遍历:每秒取一点,并记录下最大值;最后按取值为...AVPlayer:通过`addPeriodicTimeObserverForInterval:queue:usingBlock:`实现每秒回调,监听播放进度 _player = [[AVPlayer...kAudioPlayerLineSpacing:是每条Line之间的距离(可以随意设置) 所以每个刻度的间距就是:kAudioPlayerLineSpacing * 2 (因为个刻度表示2s) 四、滑动控制播放进度...(秒数), - (void)didEndDraggingY:(CGFloat)y { // 拖拽结束后,根据偏移计算时间,设置播放进度 CGFloat second = y / kAudioPlayerLineSpacing...self.player seekToTime:CMTimeMakeWithSeconds(second, NSEC_PER_SEC)]; if (self.playBtn.selected) { // 如果是播放状态则开始播放

1.8K10

【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 视频流 字幕流 节目切换 )

( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 ) ---- 文章目录 FFmpeg 系列文章目录 一、使用 ffplay 播放视频的基本命令...二、ffplay 播放过程中的控制命令 三、测试 TS 流循环切换 音频流/视频流/字幕流/节目 一、使用 ffplay 播放视频的基本命令 ---- 使用 ffplay 播放视频的基本命令 : ffplay...视频路径 播放 " D:\ffmpeg\yuanshen.mp4 " 视频 , 进入 " D:\ffmpeg\ " 目录 , 执行如下命令 : ffplay yuanshen.mp4 命令行输出...---- 播放控制 : 逐帧播放 : S ; 向后 / 向前拖动 10 秒 : Left / Right 箭头按钮 ; 向后 / 向前拖动 1 分钟 : Down / Up 箭头按钮 ; 暂停播放 :...P , 空格 ; 按下 P 或 空格键 , 可以暂停播放 ; 停止播放 : Q , Esc ; 开始播放后 , 按下 Q 或 Esc 按键 , 可以退出播放 ; 全屏切换 : F 按键可以切换全屏 ;

10.3K20

流媒体播放器EasyPlayer播放H.265与H.264时进度条样式异常该如何解决?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV...有用户反馈在使用EasyPlayer播放播放H.265视频时,进度条颜色与H.264进度条样式不一致,如下图:收到用户反馈后,技术人员立即开展排查。...1、由于播放器的进度条是input设置,type为range属性来实现的,而当前样式为默认样式,则需要优化修改默认样式;2、随后根据以下代码修改input样式;3、优化完毕即可解决该问题。...流媒体播放器EasyPlayer是我们流媒体组件系列中关注度较高的产品,经过多年的发展和迭代,目前已经有多个应用版本,包括RTSP版、RTMP版、Pro版,以及js版,其中js版本作为网页播放器,受到了用户的广泛使用...在功能上,EasyPlayer支持直播、点播、录像、快照截图、MP4 播放、多屏播放、倍数播放、全屏播放等特性,具备较高的可用性和稳定性。感兴趣的用户可以前去下载测试。

19310
领券