如何使用 juce 的 FileFilter 描述我想要的文件过滤器?

Posted

技术标签:

【中文标题】如何使用 juce 的 FileFilter 描述我想要的文件过滤器?【英文标题】:How do I describe what file filter I want using juce's FileFilter? 【发布时间】:2018-07-10 18:02:19 【问题描述】:

我试图让浏览器只显示音频文件,但是我不知道用什么语法来描述我想要的文件类型

fileChooser->setFileFilter(FileFilter(".wav"));

当我把它说成“分配抽象类类型'juce::FileFilter'的对象”时

对不起,如果这很简单

【问题讨论】:

【参考方案1】:

您应该改用WildcardFileFilter,因为FileFilter 是一个抽象基类:

fileChooser->setFileFilter(WildcardFileFilter("*.wav", "*", "somedescription"));

Docs.

注意setFileFilter 要求const*,这意味着您必须管理它的生命周期。

此时,您正在传递一个将被销毁的临时对象,而fileChooser 带有一个悬空指针,您应该使用寿命更长的东西。

【讨论】:

当我这样做时,它说“没有从 'juce::WildcardFileFilter' 到 'const juce::FileFilter *' 的可行转换” @harry97uk 没错,因为你需要传递一个指针,而不是一个对象。 fileChooser->setFileFilter(WildcardFileFilter("*.wav"));我把这个和它说的一样

以上是关于如何使用 juce 的 FileFilter 描述我想要的文件过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

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

JUCE ViewPort 如何

如何通过 getName().endsWith() 使用 FileFilter 的方法参考

phonegap 的 Juce 库插件

在 JUCE 中为音频插件使用 GUI 编辑器

FindJUCE.cmake:无法为导入的目标“juce_core”指定源