2016-04-11 90 views
0

我有這些GST-發射參數做我想做的:的Gstreamer UDP源PCM回放

gst-launch-1.0.exe udpsrc port=22122 ! audio/x-raw,format=S16LE,rate=16000,channels=1 ! autoaudiosink 

但是,我不能將其轉換成代碼。我想下面:

GstElement *pipeline = gst_pipeline_new("audio-player"); 

GstBus *bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline)); 
guint bus_watch_id = gst_bus_add_watch(bus, bus_call, m_gstMainLoop); 
gst_object_unref(bus); 

GstElement *source = gst_element_factory_make("udpsrc", "udpsrc0"); 
GstElement *sink = gst_element_factory_make("autoaudiosink", "autoaudiosink0"); 

g_object_set(G_OBJECT(source), "port", 7200, "buffer-size", 1000000, NULL); 
gst_bin_add_many(GST_BIN(pipeline), source, sink, NULL); 

GstCaps *caps = gst_caps_new_simple("audio/x-raw", 
            "format", G_TYPE_STRING, "S16LE", 
            "layout", G_TYPE_STRING, "INTERLEAVED", 
            "rate",  G_TYPE_INT,  16000, 
            "channels", G_TYPE_INT,  1, 
            NULL); 

gst_element_link_filtered(source, sink, caps); 
gst_caps_unref(caps); 

gst_element_set_state(pipeline, GST_STATE_PLAYING); 
g_main_loop_run(m_gstMainLoop); 

在點圖他們看起來幾乎一樣,但不完全是,但我想不出什麼我失蹤。

回答

0

不知道爲什麼,但它工作,如果我離開了交錯(這應該是小寫,如果輸入),我也錯過了,我輸入了錯誤的端口號(doh!)。

+0

至少你發現了這個:)你可能會考慮關閉這個問題,因爲它不會幫助任何人..但這是你的考慮 - 也許只是關於交錯的部分是有幫助的.. – nayana

+0

可能是一個好主意,但我無法弄清楚如何結束這個問題。只是將其標記爲答案。 – Vanvid

+0

也許有關交錯的信息可以用於某人...但在任何情況下,您通過點擊淺灰色「關閉」其位於問題文本下的正確答案,在藍色標記「gstreamer」下關閉該問題。旁邊的選項「共享「和」編輯「.. – nayana