【发布时间】:2014-05-19 22:46:17
【问题描述】:
我正在为 LAME 编码器构建一个前端,以便在 Gtk/Vala 中进行概念验证。
我已经安装了libmp3lame-dev,并希望使用一些给定的编码参数简单地对 WAV 文件进行编码,并使用 Gtk 进度条以图形方式显示进度。
我绝对可以弄清楚如何做到这一点,但我不确定如何将libmp3lame 导入我的 Vala 文件并与库交互。
【问题讨论】:
我正在为 LAME 编码器构建一个前端,以便在 Gtk/Vala 中进行概念验证。
我已经安装了libmp3lame-dev,并希望使用一些给定的编码参数简单地对 WAV 文件进行编码,并使用 Gtk 进度条以图形方式显示进度。
我绝对可以弄清楚如何做到这一点,但我不确定如何将libmp3lame 导入我的 Vala 文件并与库交互。
【问题讨论】:
是的,但是您需要使用 VAPI 来解释如何将 C 库绑定到 Vala。最简单的方法是使用GObject Introspection 到generate the bindings automatically,但由于 LAME 不使用 GObject,唯一的选择是手动编写它们。该过程有some documentation,它往往比编写用于处理其他语言的 C 包装器要容易得多,但对于初学者来说仍然有些吓人——你应该考虑通过 GIMPnet 上的#vala 频道来获得在开发绑定时提供帮助。
也就是说,Vala 包括GStreamer 的绑定,其中确实包括使用 LAME 的 an element。如果我站在你的立场上,我会在为 libmp3lame 创建绑定之前仔细考虑使用它。
【讨论】: