Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }