示例#1
0
        internal void AddSong(Song song)
        {
            /*是否允许重复添加歌曲*/
            if (!CanAddSame)
            {
                foreach (ListViewItem lviOld in this.lv_OrderdSongs.Items)
                {
                    if (lviOld.Text.Equals(song.SongName))
                    {
                        MessageBox.Show("已有此歌,无法添加");
                        return;
                    }
                }
            }

            ListViewItem lvi = new ListViewItem(song.SongName);
            lvi.SubItems.Add(GetStateString(song));
            int index = PlayList.AddSong(song);
            if (index == -1)
            {
                MessageBox.Show("已经超过50首,暂时无法添加");
                return;
            }
            lvi.Tag = index;
            this.lv_OrderdSongs.Items.Add(lvi);
        }
示例#2
0
        /// <summary>
        /// 点播一首歌曲
        /// </summary>
        /// <param name="song">新点播的歌曲</param>
        /// <returns>插入时所在下标</returns>
        public static int AddSong(Song song)
        {
            int index = -1;
            for (int i = 0; i < SongList.Length; i++)
            {
                if (SongList[i] == null)
                {
                    SongList[i] = song;
                    index = i;
                    break;
                }
            }

            return index;
        }
示例#3
0
 /// <summary>
 /// 添加歌曲
 /// </summary>
 /// <param name="song"></param>
 internal void AddSong(Song song)
 {
     this.fOrdered.AddSong(song);
 }
示例#4
0
        /// <summary>
        /// 添加歌曲
        /// </summary>
        private void AddSong()
        {
            try
            {
                Song song = new Song();
                song.SongName = this.dgv_SongNameAndSinger.SelectedRows[0].Cells["cln_songName"].Value.ToString();
                song.SongURL = KTVUtil.SongPath + this.dgv_SongNameAndSinger.SelectedRows[0].Cells["cln_songUrl"].Value.ToString();
                song.PlayState = SongPlayState.unplayed;
                song.Song_id = this.dgv_SongNameAndSinger.SelectedRows[0].Cells["cln_songId"].Value.ToString();
                _FrmParent.AddSong(song);
            }
#if DEBUG
            catch (Exception e)
            {

                Console.WriteLine(e.Message);
#else
                catch
                {
#endif
            }

        }
示例#5
0
 /// <summary>
 /// 通过歌曲播放状态来显示友好信息
 /// </summary>
 /// <param name="song">歌曲</param>
 /// <returns>状态友好信息</returns>
 private static string GetStateString(Song song)
 {
     if (song == null)
     {
         return string.Empty;
     }
     switch (song.PlayState)
     {
         case SongPlayState.played:
             return "已播放";
         case SongPlayState.again:
             return "再次播放";
         case SongPlayState.cut:
             return "切歌";
         case SongPlayState.unplayed:
             return "未播放";
         case SongPlayState.playing:
             return "正在播放";
         case SongPlayState.pause:
             return "暂停";
         case SongPlayState.stop:
             return "已停止";
         case SongPlayState.error:
             return "格式不支持";
         case SongPlayState.notexist:
             return "文件不存在";
         default:
             return "未知";
     }
 }
示例#6
0
 /// <summary>
 /// 获取所在下标
 /// </summary>
 /// <param name="song"></param>
 /// <returns></returns>
 public static int GetSongIndex(Song song)
 {
     if (song == null)
     {
         return -2;
     }
     for (int i = 0; i < SongList.Length; i++)
     {
         if (song == SongList[i])
         {
             return i;
         }
     }
     return -1;
 }
示例#7
0
 private void UpdatePlayCount(Song song)
 {
     //song.Song_id;
     string sql = DBHelper.FormatUpdateOneTable("song_info", new string[] { "song_play_count" }, new string[] { "1" }) + DBHelper.FormatWHERE(new string[] { "song_id" }, new string[] { song.Song_id }, new DBHelper.WHERE[0], new DBHelper.Relation[] { DBHelper.Relation.Equal });
     sql = sql.Replace("= N'1'", "+= 1");
     #if DEBUG
     Console.WriteLine(sql);
     #endif
     new DBHelper().UpdateDB(sql);
 }
示例#8
0
        /// <summary>
        /// 下一首
        /// </summary>
        private void GoNext()
        {
            this.ax_WMP.URL = string.Empty;
            if (this._song.PlayState != SongPlayState.notexist)
            {
                if (!File.Exists(this._song.SongURL))
                {
                    this._song.SetFileNotExist();
                }
                else
                {
                    this._song.SetSongPlayed();
                }
            }
            this._song = null;

            if (this.song != null)
            {
                if (this._song.PlayState == SongPlayState.notexist)
                {
                    return;
                }
                this.ax_WMP.URL = this.song.SongURL;
                UpdatePlayCount(this._song);
            }
        }