前言:Hello大家好,我是小哥谈。本节课就手把手教大家如何控制视频的暂停播放和继续播放,希望大家学习之后能够有所收获~!
目录
1.技术介绍
2.实现代码
在播放视频的过程中,能否通过按键指令,实现视频的暂停播放和继续播放呢?答案是肯定的。
为了实现视频的暂停播放和继续播放,需要用到按键指令和continue关键字。例如,当按下空格键时,实现视频的暂停播放;当再次按下空格键时,实现视频的继续播放。实现视频的暂停播放和继续播放的关键代码如下所示:
if key == 32: # 如果按下空格键
cv2.waitKey(0) # 无限等待用户按下键盘按键的时间,实现暂停效果
continue # 再按一次空格键,继续播放
本案例先要从打开后的视频文件中读取帧;再设置窗口的名称、宽度和高度;接着把读取到的帧显示在窗口里;而后设置视频的播放速度为每50ms播放1帧,当按下空格键时,实现视频的暂停播放,当再次按下空格键时,实现视频的继续播放;最后通过按下Esc键,关闭视频文件,并且销毁显示的窗口。
具体的实现代码如下所示:
import cv2
video = cv2.VideoCapture(r"C:\Users\Lenovo\Desktop\1.mp4") # 初始化视频文件
while (video.isOpened()): # 视频文件被打开后
retval, image = video.read() # 读取视频里的帧
# 设置“Video”窗口的宽为420,高为300
cv2.namedWindow("Video", 0)
cv2.resizeWindow("Video", 420, 300)
if retval == True: # 读取到视频里的帧后
cv2.imshow("Video", image) # 在窗口里显示读取到的帧
else: # 没有读取到视频里的帧
break
key = cv2.waitKey(50) # 等待用户按下键盘按键的时间为50ms
if key == 32: # 如果按下空格键
cv2.waitKey(0) # 无限等待用户按下键盘按键的时间,实现暂停效果
continue # 再按一次空格键,继续播放
if key == 27: # 如果按下Esc键
break
video.release() # 关闭视频文件
cv2.destroyAllWindows() # 销毁显示视频文件的窗口