python - Python WX.MediaCtrl 黑色视频之间的过渡
问题描述
我正在编写一个 wx.Python 代码,该代码在按下按钮时播放视频(有效)。如果按下另一个按钮,则会播放另一个视频(有效)。
但是,在加载第二个视频时会出现 2(ish)秒的黑屏。有没有办法让它立即加载和播放而不是黑屏过渡?
def onTestClick(self, media):
#array = 2
#if already playing, button press, next vid becomes 0, preload next vid, delay 1.6sec, play.
self.vidqueue = ["", ""]
self.vidqueue [0] = "Null"
self.vidqueue [1] = media
if self.vidqueue[0] == "Null":
self.vidqueue [0] = self.vidqueue [1]
print (self.vidqueue[0])
self.testMedia = wx.media.MediaCtrl(self, size = (500, 300), style=wx.SIMPLE_BORDER, szBackend = wx.media.MEDIABACKEND_WMP10)
self.testMedia.Load(self.vidqueue [0])
self.testMedia.Bind(wx.media.EVT_MEDIA_LOADED, self.play)
self.testMedia.Bind(wx.media.EVT_MEDIA_FINISHED, self.quit)
self.Bind(wx.EVT_BUTTON, self.addVid1, addBtn1)
self.Bind(wx.EVT_BUTTON, self.addVid2, addBtn2)
def buttonPressed1(self, event):
file1 = filePathList[0]
self.refTop.onTestClick(file1)
def buttonPressed2(self, event):
file2 = filePathList[1]
self.refTop.onTestClick(file2)
def play(self, event):
self.testMedia.Play()
self.vidqueue [0] = "Null"
def quit(self, event):
self.testMedia.Destroy()
解决方案
推荐阅读
- python - 符号未找到:使用 `cgo` 和 `pybind11` 将 `go` 库链接到 `python`
- azure - 在不同的 azure 活动目录中为多个 Web api 使用一个客户端应用程序
- php - HTML:单引号在本网站上显示为空格,但仅在某些浏览器中显示(即在桌面上的 Chrome 中,但在 iOS 上的 Safari 中不显示)
- azure-service-fabric - 服务结构参与者最佳实践
- python - 使用 numpy.save 时出现内存错误
- c - C 向上取整浮点数
- webpack - 在 Rails 6 中使用 Webpack 从 node_modules 解析 SCSS 中的相对图像链接
- android - 使用 COLOR_FormatYUV420Flexible 时的预期 YUV 格式
- java - java.lang.AbstractMethodError: org.postgresql.jdbc3.Jdbc3Connection.isValid(I)Z
- awk - 如何从 xmgrace 文件中 grep 一些标签,然后在 gnuplot 脚本中将它们用作刻度标签和箭头位置