如何在PyQt5应用程序中显示来自moviepy的write_audiofile的转换进度?

2024-03-15

我想使用 moviepy 库中的 write_audiofile 函数将 mp4 文件转换为 mp3 文件,并使用进度条在 PyQT5 应用程序中显示进度。

当我使用时:

mp4audio.write_audiofile(filename, logger="bar")

它在控制台中显示一个进度条,那么我可以以某种方式访问​​该进度变量并使用它来更新 PyQt5 应用程序中的进度条吗?

我也尝试过这个:

from proglog import ProgressBarLogger
from my_library import my_routine

class MyBarLogger(ProgressBarLogger):

    def callback(self, **changes):
        # Every time the logger is updated, this function is called with
        # the `changes` dictionnary of the form `parameter: new value`.

        for (parameter, new_value) in changes.items():
            print ('Parameter %s is now %s' % (parameter, value))

logger = MyBarLogger()
my_routine(logger=logger)

但它只在开始和结束时记录消息。不是进步。

Parameter message is now MoviePy - Writing audio in C:/Users/.../file.mp3
Parameter message is now MoviePy - Done.

请问有人知道解决办法吗?


似乎没有很好的记录proglog but callback of ProgressBarLogger获得对一次性消息的访问权限,但是bars_callback进度本身需要:

class MyBarLogger(ProgressBarLogger):
    def callback(self, **changes):
        # Every time the logger message is updated, this function is called with
        # the `changes` dictionary of the form `parameter: new value`.
        for (parameter, value) in changes.items():
            print ('Parameter %s is now %s' % (parameter, value))
    def bars_callback(self, bar, attr, value,old_value=None):
        # Every time the logger progress is updated, this function is called        
        percentage = (value / self.bars[bar]['total']) * 100
        print(bar,attr,percentage)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在PyQt5应用程序中显示来自moviepy的write_audiofile的转换进度? 的相关文章

随机推荐

  • didMove(查看: SKView) 和 didMoveToView(查看: SKView) 有什么区别?

    如标题所示 didMove to view SKView 和 didMoveToView view SKView 有什么区别 我知道 didMoveToView 是方法 并且该视图在旧 版本中属于 SKView 类型 我不明白将 查看 SK
  • iPad iPhone 规模背景图片

    只是想知道是否有其他人经历过 iPad iPhone 缩小背景图像以适应视口的情况 就我而言 我通过 JavaScript 交换背景图像 新的背景图像超宽 适合大型显示器 然而 iPad 正在缩小通过 javascript 添加到 DOM
  • 使用 CSS 剪辑/裁剪背景图像

    我有这个 HTML div lorem ipsum div 使用这个CSS graphic background image url image jpg width 200px height 100px 我应用的背景图像是 200x100
  • 有没有办法在flutter中从iOS中排除包?

    我正在使用仅适用于 Android 的 sms maintained 包 然而 该项目需要一个iOS版本 我目前正在做的是在开发iOS时删除该包 如何将包保留在 pubspec yaml 文件中 但禁止 iOS 检入该包 目标是拥有统一的代
  • PHP 中的 \x00 、 \x04 是什么意思

    我有一些代码有 x00 and x04 十六进制代码 这是什么意思 str implode x00 var message line 1 id var message x04 id line 2 将会发生什么线路 1 和线路 2我想将这些写
  • 为什么数组是协变的,而泛型是不变的?

    来自 Joshua Bloch 的 Effective Java 数组与泛型类型有两个重要的不同之处 第一个数组是协变的 泛型是不变的 协变仅仅意味着如果 X 是 Y 的子类型 那么 X 也将是 Y 的子类型 数组是协变的 因为字符串是对象
  • 根据行逐步对 Numpy Python 矩阵进行排序

    我四处寻找并试图找到解决这个看似简单问题的方法 但一无所获 问题是根据矩阵的列逐步对矩阵进行排序 所以 如果我有一个像这样的 numpy 矩阵 import numpy as np X np matrix 0 0 1 2 0 0 1 1 0
  • 是否可以使 eclipse p2 配置机制在*本地*运行?

    Eclipse 3 4 x 也称为Ganymede http www eclipse org downloads packages 附带了一种新的配置机制 称为p2 配置 是允许按需发现和更新应用程序的某些部分的过程 正如本文中关于太阳网站
  • System.Security.SecurityException:主体权限请求失败

    任何人都可以帮助我指出如何修复此错误的正确方向吗 System Web Services Protocols SoapException Server was unable to process request gt System Secu
  • 获取kivy中选定复选框的值

    test py import sqlite3 as lite from kivy uix screenmanager import Screen from kivy app import App from kivy lang import
  • Rsync 仅创建符号链接

    我目前 rsync 运行良好 它将我的所有文件从一个目录复制到另一个目录 唯一的事情是它是物理复制文件 我有很多大文件 我不想拥有所有文件的副本 我只想在新目录中创建一个符号链接 以便我可以在网页上提供数据 源目录中有一些我不希望公众看到的
  • 如何识别和删除换行符和空格?

    我正在通过按组件分隔字符串来创建一个 nsmutable 数组 这会导致在数组中插入大量换行符和空格 如何识别和删除它们 for int i 0 i
  • 解码ima4音频格式

    为了减少 iPhone 应用程序的下载大小 我压缩了一些音频文件 具体来说 我在命令行上使用 afconvert 将 wav 格式更改为 caf 格式 带 ima4 压缩 我读了this http www wooji juice com b
  • 带有循环动画的浓缩咖啡冻结视图

    我有一个视图 其中一个元素在无限循环中使用以下内容进行动画处理
  • Django REST Framework 添加一个 ViewSet 作为另一个 ViewSet 上的详细信息

    我有两种模型 一种是盒子 一种是盒子评论 class BoxViewSet viewsets ModelViewSet queryset Box objects all permission classes IsAuthenticated
  • 如何将相机附加到 Spark.components.VideoDisplay

    我正在使用 Flash Builder 并创建了一个 Spark 应用程序 Flex 项目 该项目将从本地摄像头传输视频 如果我使用mx controls VideoDisplay 没有问题 因为它有attachCamera camera
  • 使用 QEMU 模拟 Big Endian ARM 系统

    是否可以编译一些 Linux 内核并通过 QEMU 运行它 模拟一些 Big Endian ARM 处理器 如果 QEMU 无法做到这一点 我很想知道其他可以做到这一点的系统模拟器 我的基本目标是在尽可能多的本机环境中运行和调试专用的 Bi
  • 从字符串中删除点符号[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 JavaScript 中替换字符串中的所有点 https stackoverflow com questions 2390789 how to replace all points in a
  • Xamarin Forms Maps 将图像动态添加到 InfoWindow

    我已经从官方网站的示例中实现了自定义渲染器 但我确实需要每个引脚发送不同的图像 图像将通过 API 作为 base64 字符串传递 我真的需要 Android 和 iOS 的实现 案例场景 我正在将 CustomPins 加载到地图上 自定
  • 如何在PyQt5应用程序中显示来自moviepy的write_audiofile的转换进度?

    我想使用 moviepy 库中的 write audiofile 函数将 mp4 文件转换为 mp3 文件 并使用进度条在 PyQT5 应用程序中显示进度 当我使用时 mp4audio write audiofile filename lo