/// <summary> /// 重设调整进度 /// </summary> /// <param name="time"></param> public void ResetPositionTime(double time) { var d = NRCSList.Where(m => time >= m.StartTime); if (d.Count() > 0) { NRCSentence ns = d.Last(); if (NowPlayNRCSentence != null && NowPlayNRCSentence != ns) { NowPlayNRCSentence.Reset(); } NowPlayNRCSentence = ns; ns.ChangedPlayPosition(time); } }
public void UpdatePositionTime(double time) { var d = NRCSList.Where(m => time >= m.StartTime);//cpu <= 1% //Debug.WriteLine(d.Count()); if (d.Count() > 0) { NRCSentence ns = d.Last(); if (NowPlayNRCSentence != null && NowPlayNRCSentence != ns) { //重置前句歌词描色 NowPlayNRCSentence.Reset(); Debug.WriteLine("[重置描色]" + NowPlayNRCSentence.ToString()); } NowPlayNRCSentence = ns; ns.UpdatePlayPositionTime(time); } }
/// <summary> /// 加载NRC格式歌词 /// </summary> /// <param name="nrc"></param> public void LoadNRC(NRCModel nrc) { NRCSList.Clear(); StackPanel.Children.Clear(); foreach (NRCSentenceModel nrcsm in nrc.NRCS) { NRCSentence nrcs = new NRCSentence(); nrcs.StartTime = nrcsm.StartTime; //nrcs.LyricType = LyricType.NRC;//测试逐字 nrcs.LyricType = nrc.LyricType; //正常调用 nrcs.Margin = new Thickness(0, 10, 0, 0); nrcs.Loaded += (e, c) => { nrcs.LoadNRCWord(nrcsm.NRCWord); }; StackPanel.Children.Add(nrcs); NRCSList.Add(nrcs); } }