我需要使用嵌入式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还是别的什么?