在 Juce 中使用 AudioFormatReader 加载脉冲响应

Posted

技术标签:

【中文标题】在 Juce 中使用 AudioFormatReader 加载脉冲响应【英文标题】:Using AudioFormatReader in Juce to load impulse responses 【发布时间】:2015-10-22 15:04:01 【问题描述】:

我正在使用 Juce 创建卷积混响插件,但在加载脉冲响应音频文件时遇到了一些问题。

我正在使用 AudioFormatReader 类。这是我到目前为止实现的代码,它产生了一些错误:

std::ifstream irStream;
irStream.open("1 Halls 01 Large Hall L.wav");

AudioFormatReader(juce::InputStream irStream, const juce::String &WavAudioFormat);

这只是尝试加载一个音频文件,最终我想要很多。

这里是 AudioFormatReader 类文档的链接:

AudioFormatReader

【问题讨论】:

【参考方案1】:

您可以为此使用AudioFormat::createReaderFor(请注意,这是纯虚函数,如果它的派生类型如WavAudioFormat,则必须使用其中之一)与File 一起使用。比如……

File myFile ("myFile.wav");
AudioFormatReader* myFormatReader = WavAudioFormat().createReaderFor (myFile.createInputStream(), true);

【讨论】:

这会产生错误“无法使用“const char [34]”类型的 Ivalue 初始化“juce::inputStream *”类型的参数”

以上是关于在 Juce 中使用 AudioFormatReader 加载脉冲响应的主要内容,如果未能解决你的问题,请参考以下文章

JUCE 无法在音频插件上插入按钮

phonegap 的 Juce 库插件

如何使用 Juce 为脉冲响应加载音频文件

VST 主机 - 泄漏的对象 - Juce/C++

JS 错误导致 JUCE 应用程序崩溃

局部变量的赋值导致音频在 JUCE 中停止处理