在Ubuntu 14.04上使用Mono中的GStreamer

时间:2016-03-24 00:17:17

标签: ubuntu monodevelop gstreamer

我想在游戏中使用GStreamer来获得音效和音乐。

从此PPA安装GStreamer: https://launchpad.net/~ddalex/+archive/ubuntu/gstreamer

并尝试以这种方式安装GStreamer,从PPA安装后似乎无法正常工作:https://askubuntu.com/questions/279509/how-can-i-install-gstreamer-1-0-in-ubuntu-12-04

然而,就我所知,两次GStreamer都正确安装,但它不会出现在MonoDevelop的引用下。

我是否有可能误解了如何在MonoDevelop中使用GStreamer?

编辑:我已经下载了GStreamer sharp: https://gstreamer.freedesktop.org/modules/gstreamer-sharp.html

但我不明白如何使用它,任何帮助?

编辑:澄清一下,我的操作系统是Ubuntu 14.04

编辑:我认为问题已经解决了。

使用apt-cache search' gstreamer'我发现并安装了libgstreamer0.10-cil-dev库,现在GStreamer出现在MonoDevelop中!

然而,虽然GStreamer现在出现在参考文献中,但当我尝试使用C#完成编译测试程序时,却基于官方的GStreamer SDK教程。

测试程序:

Gst.Element pipeline;

    Gst.Application.Init ();

    pipeline = Gst.Parse.Launch("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm");
    pipeline.SetState(Gst.State.Playing);

我收到此错误:An exception was thrown by the type initializer for Gst.GLib.GType,根据详细信息,问题似乎是缺少的库:System.TypeInitializationException: An exception was thrown by the type initializer for Gst.GLib.GType ---> System.Exception: libgstreamersharpglue-0.10.so

感谢otopolsky帮助我们做到这一点!并提前感谢任何进一步的帮助。

更新:此问题现在似乎已得到解决,请参阅下面的解决方案。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题!

使用apt-cache search 'gstreamer'我找到并安装了库libgstreamer0.10-cil-dev,现在GStreamer出现在MonoDevelop中!

感谢otopolsky的帮助。

编辑:看到上面的问题,我认为问题已经解决,但又出现了另一个问题。

更新:问题解决了!事实证明,库libgstreamersharpglue不在ldconfig已知的目录中。最后我发现这个答案解释了如何让ldconfig使用这个目录:https://stackoverflow.com/a/32330648/5870433

该网站还提供了有关如何将库添加到ldconfig缓存的帮助:https://codeyarns.com/2014/01/14/how-to-add-library-directory-to-ldconfig-cache/