首页 > 解决方案 > 动态更改 GStreamer 插件(均衡器)参数

问题描述

背景:我有一个运行 Mopidy 的音频设备,它输出到 gstreamer 管道。我的设备有一个均衡器接口——为此我设置了我的 ALSA 配置以通过 ALSA 均衡器——GStreamer 管道以此为目标。处理接口的代码使用 pythonalsamixer来实现值。

这行得通,但是 ALSA 均衡器有点笨拙,并且在使音频失真之前具有非常窄的范围。GStreamer 有一个我认为更好的均衡器插件;我可以按照以下示例启动行来实现它:

gst-launch-1.0 filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-10bands band2=3.0 ! alsasink

但是,我希望能够band0-band9在流播放时动态更改参数 - 通过 python 或从命令行。我不确定要看哪个方向 - 这可能吗?

标签: gstreamerpython-gstreamer

解决方案


插件的属性可以通过g_object_set()函数设置。它们是否可以即时更改或仅在管道停止时更改取决于插件的实现。


推荐阅读