使用Gstreamer (c#)中的管道播放音频

本文关键字:管道 播放 音频 Gstreamer 使用 | 更新日期: 2023-09-27 18:10:39

我一直在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行

中引发异常

有没有人知道任何好的应用程序的例子,和/或实际上可以张贴一些代码,所以我可以开始习惯库?另外,如果你能告诉我上面的代码有什么问题,我将不胜感激

话不多说,关于

使用Gstreamer (c#)中的管道播放音频

只需将命令字符串更改为"filesrc location=" + path + " !decodebin2 !Gconfaudiosink ",应该可以。

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