public void readKukaAudioFromSample2(string url) { XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; //settings.ConformanceLevel = ConformanceLevel.Fragment; bool firstCall = true; double time_old = 0; double time_new = 0; using (XmlReader xmlReader = XmlReader.Create(url, settings)) { MTCValue tmpMTCValue = new MTCValue(); while (true) { xmlReader.ReadToFollowing("SoundLevel"); if (xmlReader.GetAttribute("timestamp") == null) { break; } tmpMTCValue.idx = Convert.ToInt32(xmlReader.GetAttribute("sequence")); tmpMTCValue.name = xmlReader.GetAttribute("name"); tmpMTCValue.tStamp = xmlReader.GetAttribute("timestamp"); xmlReader.Read(); // read value if (xmlReader.Value == "UNAVAILABLE") { continue; } tmpMTCValue.value = Convert.ToDouble(xmlReader.Value); queue.Enqueue(tmpMTCValue); time_new = tmpMTCValue.toSec(); if (firstCall) { time_old = time_new; firstCall = false; } //Console.WriteLine("time_old={0} time_new={1} time_diff={2}", time_old, time_new, time_new - time_old); if (time_new - time_old > 10) { break; } } } }