我可以使用Vala的本机C库吗?

时间:2014-05-19 22:46:18

标签: vala lame

我正在为LAME编码器构建一个前端,以便在Gtk / Vala中进行概念验证。

我已安装libmp3lame-dev,并希望使用一些给定的编码参数简单地编码WAV文件,并使用Gtk进度条以图形方式显示进度。

我绝对可以弄清楚如何做到这一点,但我不确定如何将libmp3lame导入我的Vala文件并与库接口。

1 个答案:

答案 0 :(得分:6)

是的,但您需要使用VAPI来解释如何将C库绑定到Vala。执行此操作的简单方法是使用GObject Introspectiongenerate the bindings automatically,但由于LAME不使用GObject,因此唯一的选择是手动编写它们。这个过程有some documentation,并且比在其他语言中编写用于处理C的包装容易得多,但它对于初学者来说仍然有点吓人 - 你应该考虑在GIMPnet上删除#vala频道在你开发绑定时获得帮助。

也就是说,Vala包含GStreamer的绑定,其中包含an element用于使用LAME。如果我在你的鞋子里,我会在为libmp3lame创建绑定之前仔细考虑使用它。