示例#1
0
        /// <summary>
        /// 新建一个预定义下载地址的歌曲物品
        /// </summary>
        /// <param name="_module">搜索模块</param>
        /// <param name="_Name">歌名</param>
        /// <param name="_ID">歌曲ID</param>
        /// <param name="_WhoWantThis">点歌人</param>
        /// <param name="_Singers">歌手列表</param>
        /// <param name="_DownloadURL">下载地址</param>
        /// <param name="_lyric">文本格式歌词</param>
        /// <param name="_note">歌曲信息备注</param>
        private SongItem(SongsSearchModule _module, string _Name, string _ID, string _WhoWantThis, string[] _Singers, string _DownloadURL, string _lyric = "", string _note = "")
        {
            _Status           = SongStatus.WaitingDownload;
            Module            = _module;
            _SongName         = _Name;
            _SongID           = _ID;
            this._Singers     = _Singers;
            _User             = _WhoWantThis;
            this._DownloadURL = _DownloadURL;
            _Lyric            = _lyric;
            _Note             = _note;

            RaisePropertyChanged("");
        }
示例#2
0
        public Staff()
        {
            songScore = 0.0f;
            songPerfectScore = 0.0f;

            noteList = new List<Note>();
            currentIndex = 0;
            musicTime = 0.0d;

            status = SongStatus.loading;

            //TODO: Figure out what values these should have
            leftTimeSpan = 10.0f;
            rightTimeSpan = 30.0f;

            speedFactor = 0.2f;
            pointerLoc = 306.0f;
        }
示例#3
0
        internal static string ToStatusString(this SongStatus songStatus)
        {
            switch (songStatus)
            {
            case SongStatus.WaitingDownload:
                return("等待下载");

            case SongStatus.Downloading:
                return("正在下载");

            case SongStatus.WaitingPlay:
                return("等待播放");

            case SongStatus.Playing:
                return("正在播放");

            default:
                return("????");
            }
        }
示例#4
0
 internal void setStatus(SongStatus status)
 {
     _Status = status;
     RaisePropertyChanged("Status");
 }
示例#5
0
文件: Song.cs 项目: fethier/Playlixp
 public Song(String filePath)
 {
     _songName = Path.GetFileName(filePath);
     _songPath = filePath;
     _status = IsAccessible() ? SongStatus.Enabled : SongStatus.InvalidPath;
 }
示例#6
0
 public Song()
 {
     CreatedAt = DateTime.Now;
     UpdatedAt = DateTime.Now;
     Status    = SongStatus.Available;
 }
示例#7
0
        public void Update(GameTime gameTime)
        {
            if (status == SongStatus.waiting && MediaPlayer.State == MediaState.Playing)
            {
                status = SongStatus.playing;
            }

            musicTime = MediaPlayer.PlayPosition.TotalMilliseconds;
            if (noteList.Count > 0)
            {

                while ((float)musicTime > noteList[currentIndex].position.X && (currentIndex < noteList.Count - 1))
                    {
                        currentIndex++;
                        Console.WriteLine(currentIndex);
                    }
            }

            if (musicTime >= songDuration - 1000.0d) //We should make sure that every song has at least 1s blank at end
            {
                status = SongStatus.finished;
            }
        }
示例#8
0
 public void Reset()
 {
     songScore = 0.0f;
     currentIndex = 0;
     musicTime = 0.0d;
     foreach (Note note in noteList)
     {
         note.visible = true;
     }
     status = SongStatus.loading;
 }
示例#9
0
 public void PlayMusic()
 {
     MediaPlayer.Play(song);
     status = SongStatus.waiting;
 }
示例#10
0
 public void PlayMusic(Song sng)
 {
     song = sng;
     songDuration = sng.Duration.TotalMilliseconds;
     MediaPlayer.Play(song);
     status = SongStatus.waiting;
 }