我一直在GStreamer上苦苦挣扎,因为找不到任何C#示例/教程。

据我所知,Gstreamer使用流水线进行解码,然后能够将例如歌曲等发送给扬声器,但是我尝试了以下操作,但没有成功:

        Gst.Element pipeline;
        string path = @"some_path.mp3";
        string command = "filesrc location=" + path + " ! oggdemux ! vorbisdec ! audioconvert ! gconfaudiosink";
        pipeline = Gst.Parse.Launch(command);
        pipeline.SetState(Gst.State.Playing);

但是,它在Gst.Parse.Launch行中引发异常

有谁知道任何好的应用程序示例,并且/或者实际上可以发布一些代码,因此我可以开始习惯该库了?另外,如果您能告诉我上面的代码出了什么问题,我将很感激

无需再费周折,
问候

最佳答案

只需将您的命令字符串更改为“filesrc location =“+ path +”!解码bin2!gconfaudiosink“,就可以了。

附带说明一下,您应该在命令行上使用gst-launch工具来检查管道是否正常工作并对其进行调试。还可以使用gst-inspect查找系统上可用的插件以及它们的功能是什么。

关于c# - 在Gstreamer(C#)中使用管道播放音频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16178333/

10-11 04:19