Gstreamer客户端服务器音频流

问题描述:

我想在C语言中使用Gstreamer创建一个简单的客户端 - 服务器应用程序。客户端必须从麦克风(1声道,16Khz)捕获音频并将音频流发送到服务器,将其保存为。在磁盘上的wav文件。Gstreamer客户端服务器音频流

实际的代码在磁盘上创建文件,但它是空的。我认为服务器工作正常,因为它创建文件,如果我使用这个命令作为客户端:gst-launch-1.0 filesrc location = audio.wav! tcpclientsink主机= 127.0.0.1端口= 5000

我需要提示客户端有什么问题。

谢谢!

这里是我的客户端代码:https://drive.google.com/open?id=0B7umVbxKsF0GVWZ3b3J3QTN2T1k

这里是我的服务器代码:https://drive.google.com/open?id=0B7umVbxKsF0GRDVKQXVKVXVGVnM

你的客户端代码等于低于GST-launch命令
gst-launch-1.0 pulsesrc ! audioconvert ! audioresample ! audio/x-raw, format=S16LE, channels=1, rate=16000, layout=interleaved ! tcpclientsink host=127.0.0.1 port=5000

它发出了一个原始音频,不是像你可运行的例子一样的wav文件。

要允许服务器使用此原始音频流,请删除decodebin在那里放置capsfilter以告知服务器音频流的格式/频道/比率...。

P/s:while(1)在您的客户端代码不好,应该删除它