gpt4 book ai didi

Java 进程生成器 : space within quotation marks

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:26 26 4
gpt4 key购买 nike

我正在使用 ProcessBuilder 运行 FFMPEG 来转换和标记我的一些 MP3 文件。

在 .bat 文件中手动使用以下内容按预期工作:

"E:\Dokumente\workspace\MusicBot\ffmpeg\bin\ffmpeg.exe" 
-i "The Glitch Mob - We Can Make The World Stop.mp4"
-metadata author="The Glitch Mob"
-metadata title="We Can Make The World Stop"
-ab 320k "mob.mp3"

现在我正在尝试使用 java 的 ProcessBuilder 实现什么

ProcessBuilder pr = new ProcessBuilder(FFMPEG_PATH, 
"-i", target.getAbsolutePath(),
"-metadata", "title=\"We Can Make The World Stop\"",
"-metadata", "author=\"The Glitch Mob\"",
"-ab", "320k",
tar.getAbsolutePath());

导致 [NULL @ 000000000032f680] 无法为“Can”找到合适的输出格式。但是,使用不带空格的标题和作者是可行的。

最佳答案

命令行上的双引号告诉 shell 解释器不要将您的字符串拆分为多个参数。这是为了确保应用程序接收 title=We Can Make The World Stop 作为单个参数。

由于 ProcessBuilder 显式处理多个命令行参数,因此在调用它时无需转义空格。

关于Java 进程生成器 : space within quotation marks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23933335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com