C 如何在GTK3.0中使用gstreamer同时播放视频和音频
我有一个GUI,我在上面播放视频。我对GUI使用Gtk3.0,对视频播放使用gstreamer1.0。但当播放视频时,我想播放音频。所以,在播放视频时,我想给出信息音频信息。播放音频时,视频应不停止播放。我使用gstreamer示例代码,并根据自己修改了代码。(示例代码是:)我不知道如何在背景中添加第二个元素(音频)。我应该如何添加第二个元素 您可以添加此形状。无需使用C 如何在GTK3.0中使用gstreamer同时播放视频和音频,c,audio,gtk3,gstreamer-1.0,C,Audio,Gtk3,Gstreamer 1.0,我有一个GUI,我在上面播放视频。我对GUI使用Gtk3.0,对视频播放使用gstreamer1.0。但当播放视频时,我想播放音频。所以,在播放视频时,我想给出信息音频信息。播放音频时,视频应不停止播放。我使用gstreamer示例代码,并根据自己修改了代码。(示例代码是:)我不知道如何在背景中添加第二个元素(音频)。我应该如何添加第二个元素 您可以添加此形状。无需使用gst_init(&argc,&argv)。只需在代码中添加管道。您可以在gstreamer网站上找到此代码 #包括 int m
gst_init(&argc,&argv)代码>。只需在代码中添加管道
。您可以在gstreamer网站上找到此代码
#包括
int main(int argc,char*argv[]){
GstElement*管道;
GstBus*总线;
GstMessage*msg;
/*初始化GStreamer*/
gst_init(&argc,&argv);
/*修建管道*/
管道=gst\u解析\u启动(“playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm“,空);
/*开始玩*/
gst元素设置状态(管道、gst状态);
/*等待错误或EOS*/
总线=gst\u元件\u获取\u总线(管道);
msg=gst_总线_定时_弹出_过滤(总线、gst_时钟_时间_无、gst_消息_错误| gst_消息_EOS);
/*免费资源*/
如果(msg!=NULL)
gst_消息_unref(msg);
商品及服务税(巴士);
gst\元素\集合\状态(管道,gst\状态\空);
gst_对象_unref(管道);
返回0;
}
#include <gst/gst.h>
int main(int argc, char *argv[]) {
GstElement *pipeline;
GstBus *bus;
GstMessage *msg;
/* Initialize GStreamer */
gst_init (&argc, &argv);
/* Build the pipeline */
pipeline = gst_parse_launch ("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm", NULL);
/* Start playing */
gst_element_set_state (pipeline, GST_STATE_PLAYING);
/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline);
msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
/* Free resources */
if (msg != NULL)
gst_message_unref (msg);
gst_object_unref (bus);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}