【问题标题】:How to create null output effect?如何创建空输出效果?
【发布时间】:2021-07-17 14:20:40
【问题描述】:

我想写一个程序,只是不产生输出文件。我怎样才能做到这一点? 我尝试使用空字符串或 NULL 字符串创建sox_format_t

sox_format_t* out = sox_open_write(NULL, &signalInfo, &encodingInfo, NULL, NULL, NULL);
sox_format_t* out = sox_open_write("", &signalInfo, &encodingInfo, NULL, NULL, NULL);

我尝试将 0 args 传递给输出效果:

sox_effect_options(outputEffect, 0, args);

它们都不起作用。

【问题讨论】:

  • 如果你不想让libsox产生文件,那么使用libsox的目的是什么?请说明您试图用您的程序解决什么问题。
  • 好吧,我正在尝试创建噪声配置文件。因此产生输出文件不是我想要的。输入-->修剪-->噪声配置-->输出。这就是我试图使用的链条。我以某种方式设法创建空输出。但我收到错误消息。

标签: sox libsox


【解决方案1】:

我尝试了这段代码,它成功了

sox_format_t* out = sox_open_write("", &signalInfo, &encodingInfo, "null", NULL, NULL);

但是结合 'trim' 和 'noiseprof',我的程序会打印没有噪声配置文件的错误消息。

【讨论】:

  • 很好,libsox 支持一个特殊的文件类型"null" 来丢弃输出。至于错误,也许它有助于指定一个(有效的)文件路径。如果你的操作系统支持,你可以试试"/dev/null"
  • 我发现了原因,我的编程不好。我通过了错误的论点。在我修复它之后,它会打印“Premature EOF”并创建我想要的文件。
猜你喜欢
  • 1970-01-01
  • 2016-09-21
  • 2018-05-13
  • 2014-02-09
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 2015-06-29
  • 2014-01-09
相关资源
最近更新 更多