【问题标题】:Execute ffmpeg to Crop Audio in Qt在 Qt 中执行 ffmpeg 以裁剪音频
【发布时间】:2013-03-04 19:30:38
【问题描述】:

我想创建一个可用于使用 Qt 裁剪音频文件的应用程序。 我已经通过命令行成功运行了 ffmpeg,使用以下命令:

ffmpeg -t 30 -i C:\\test.mp3 -acodec copy C:\\test2.mp3

然后我尝试使用 Qt 执行此操作,下面的代码似乎可以工作,但我找不到输出文件 (test2.mp3)。

QProcess* process=new QProcess(this);
process->start("FFmpeg-N-49957-g8c95d17\\ffmpeg.exe",QStringList()<<"-t 30 -i C:\\test.mp3 -acodec copy C:\\test2.mp3");

我上面的代码有什么问题吗?

【问题讨论】:

    标签: qt audio ffmpeg


    【解决方案1】:

    我想,你忘了添加 'waitForFinished()' 行,它只是没有时间完成你的任务

    QProcess process;
    process.start("ffmpeg -t 30 -i C:\\test.mp3 -acodec copy C:\\test2.mp3");
    process.waitForFinished();
    process.close();
    

    【讨论】:

    • 我已经试过你上面的代码了。我文件夹中的 ffmpeg 是一个可执行文件。所以我无法使用 ffmpeg 命令启动它(我应该指定它的目录)。而且好像有问题,因为 process.start 方法至少需要两个参数。
    • 不,这个函数有重载版本,只需要一个输入参数qt-project.org/doc/qt-4.8/qprocess.html#start-2about文件夹:process.start("FFmpeg-N-49957-g8c95d17\\ffmpeg.exe -t 30 -i C:\\test.mp3 -acodec 复制 C:\\test2.mp3");会工作得很好
    • 它正在工作。谢谢你的帮助。所以我不应该使用第二个参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 2014-08-14
    • 2017-04-29
    相关资源
    最近更新 更多