Linux如何在RAM缓冲区中录制声音并以自定义延迟播放音频

时间:2015-09-04 13:52:15

标签: linux audio alsa jack

我需要使用嵌入式Linux系统将音频从收音机发送到辅助系统。

辅助系统需要建立一个需要几秒钟的通信通道。

因此,如果我不想丢失音频的开头,我需要一种方法来录制声音并以自定义延迟(最多几秒)播放。

应该可以启动aplay将音频录制到tmpfs文件系统中的文件中,并且当传入通信时,启动public static void readXml() { XmlDocument xmldoc = new XmlDocument(); XmlNodeList xmlnode; int i = 0; List<Rule> listx = new List<Rule>(); FileStream fs = new FileStream("C://ConsoleApplication1//sample_manifest.xml", FileMode.Open, FileAccess.Read); xmldoc.Load(fs); xmlnode = xmldoc.GetElementsByTagName("attribute", "condition"); XmlNodeList list = xmldoc.SelectNodes(@"/psmsmanifiest/rules/rule/attributes"); foreach (XmlNode node in list) { foreach (XmlNode childNode in node.ChildNodes) { //string dataprovider = node["Dataprovider"].Attributes.Item(0); var attribute = node["attribute"].InnerXml; Console.WriteLine(attribute); Console.ReadLine(); } } } 。 但在这种情况下,开始仍然会丢失,因为要记录的信号来得太晚了。

Linux上是否有程序在RAM中的环形缓冲区中连续录制声音,并且能够根据需要自定义延迟播放?

如果没有,在嵌入式系统上编写这样一个程序的最佳库是什么? alsa还是别的什么?

0 个答案:

没有答案