mono - 如何使用 monodevelop/xamarin 构建 gstreamer-sharp?

标签 mono xamarin monodevelop gstreamer gtk#

我是 AudioCuesheetEditor 的开发人员,这是一个用于编辑音频 cuesheets 的应用程序。新版本应该可以播放声音,所以我想使用 gstreamer 作为后端。我在 gstreamer 中进行了一些调查,发现我需要将 1.x 版与 gstreamer-sharp 0.99.x 绑定(bind)一起使用。没问题,下载gstreamer-sharp 0.99.0,用monodevelop(在linux上)或xamarin(在windows上)打开解决方案并尝试构建dll,但这没有用。我收到错误“未找到命名空间 Gst.GLib”。

我正在使用 xamarin/monodevelop 进行开发,并且需要一个可移植的应用程序(使用 mono/.net)。

任何人都可以帮助我,获得 gstreamer-sharp 构建吗?

提前致谢!

最佳答案

Windows 目前不支持 gstreamer-sharp,但是您可以在 linux 上编译托管部分并在 Windows 上使用 Visual Studio 编译胶水:

  • https://github.com/mono/gtk-sharp 安装 gtk-sharp 3.0
  • 使用 ./autogen.sh && make
  • 编译 gstreamer-sharp
  • 获取已编译的 glib-sharp 和 gstreamer-sharp 二进制文件以及来自 sources/glue/
  • 的所有 .c 文件
  • http://gstreamer.freedesktop.org/data/pkg/windows/1.2.2/ 下载并安装 gstreamer 二进制文件并为您要编译的架构安装开发和二进制包。您可以使用 gstreamer 1.0 或 1.2。
  • 使用 gstreamer-devel 包中的 Visual Studio 模板并将项目类型更改为库。添加从sources/glue 文件夹中获取的c 文件并编译glue 库。该库应称为 libgstreamersharpglie-1.0.0.dll
  • 将托管部分与 native 符号放在一起。

  • 编辑:
    现在在 Windows 上编译胶水更容易了!有人建立了一个项目,可以在 Windows 上使用 Visual Studio 编译胶水。我有一个 fork ,其二进制文件位于 https://github.com/xDarkice/libgstreamersharpglue

    关于mono - 如何使用 monodevelop/xamarin 构建 gstreamer-sharp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21577733/

    相关文章:

    android - 如何修复在构建项目时收到的 atp0000 错误?

    android - Xamarin Android 深层链接不起作用

    ios - 在 MonoTouch 中重命名命名空间

    iphone - 如何使用单触摸向 iPhone 应用程序添加图标?

    MonoDevelop 中的 Java 控制台错误

    c# - 在 Mac 上开发 .Net 应用程序?

    c# - 如何在我的 C 程序中使用 mono AOT 生成的 SO 文件中的方法?

    c# - 当前单声道默认垃圾收集器

    Android视差头效果

    c# - Xamarin.iOS 的像素转换距离