在Gstreamer中使用管道播放音频(C#)

时间:2013-04-23 20:14:43

标签: c# audio media gstreamer pipeline

我一直在与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行中引发了一个例外

有没有人知道任何好的应用程序示例,和/或实际上可以发布一些代码,所以我可以开始习惯这个库?另外,如果你能告诉我上面的代码有什么问题,我会很感激

没有进一步的麻烦, 此致

1 个答案:

答案 0 :(得分:0)

只需将命令字符串更改为" filesrc location =" +路径+" ! decodebin2! gconfaudiosink",这应该有用。

另外,您应该使用命令行上的gst-launch工具来检查您的管道是否正常工作并进行调试。还可以使用gst-inspect查找系统中可用的插件以及它们的功能。