中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#讀取歌曲列表獲取單個音樂文件信息

發布時間:2020-07-07 15:52:19 來源:網絡 閱讀:563 作者:xjmhz 欄目:編程語言

Visual C#讀取歌曲列表文件,并獲取單個音樂文件信息,功能還有返回一個歌曲對象、獲取歌曲名稱、獲取歌手名、自動播放下一首、切歌,ture上一首,false下一首、更新路徑、單曲循環、隨機播放等。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace MyMusicBox
{
    /// <summary>
    /// 歌曲列表
    /// </summary>
    [Serializable]
    class PlayList
    {
        public static List<Song> song = new List<Song>();//存儲所有歌曲
        public static List<Song> play = new List<Song>();//存儲播放列表
        public static int id = 1;//當前播放歌曲編號,非索引,id-1=索引
        /// <summary>
        /// 播放歌曲
        /// </summary>
        /// <returns>返回一個歌曲對象</returns>
        public static Song Play()
        {
            //如果播放集中存在對象
            if (play.Count>0)
                return play[id - 1];
            else
                return null;
        }
        /// <summary>
        /// 獲取歌曲名
        /// </summary>
        /// <returns></returns>
        public static string GetName()
        {
            //如果播放集合為空
            if (play.Count ==0)
                return "當前無播放歌曲";
            else
                return play[id - 1].Name;
        }
        /// <summary>
        /// 獲取歌手名
        /// </summary>
        /// <returns></returns>
        public static string GetSinger()
        {
            //如果播放集合為空
            if (play.Count == 0)
                return " ";
            else
                return "一" + play[id - 1].Singer;
        }
        /// <summary>
        /// 自動下一首
        /// </summary>
        public static void PlayNext()
        {
            //如果當前播放為最后一首,編號重置為1
            if (id == play.Count)
                id = 1;
            else
                id++;
        }
        /// <summary>
        /// 切歌,ture上一首,false下一首
        /// </summary>
        public static void Cut(bool temp)
        {
            if (play.Count == 0)
                return;
            //修改狀態為cut,使主窗體song對象清空
            play[id - 1].SongState = SongPlayState.cut;
            //上一首,如果已經是第一首就切換最后一首
            if (temp)
            {
                if (id ==1)
                    id=play.Count;
                else
                    id--;
            }
            //下一首,如果已經是最后一首就切換第一首
            else
            {
                if (id == play.Count)
                    id = 1;
                else
                    id++;
            }
        }
        /// <summary>
        /// 更新路徑
        /// </summary>
        public static void Update()
        {
            foreach (Song s in play)
            {
                foreach (Song s1 in song)
                {
                    if (s.Name == s1.Name)
                    {
                        s.FileName = s1.FileName;
                    }
                }
            }
        }
        /// <summary>
        /// 單曲循環
        /// </summary>
        public static void PlayOne()
        {
                int temp = id - 1;
                id = temp;
        }
        /// <summary>
        /// 隨機
        /// </summary>
        public static void PlayRandom()
        {
            Random r = new Random();
            id = r.Next(1, play.Count);
        }
    }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒙自县| 沧州市| 湖州市| 新兴县| 绥德县| 陆川县| 康马县| 许昌县| 建平县| 长武县| 颍上县| 沽源县| 衡东县| 临夏县| 德兴市| 普兰县| 济南市| 师宗县| 吐鲁番市| 泗洪县| 昭通市| 乌兰察布市| 准格尔旗| 上杭县| 贵溪市| 翼城县| 安平县| 新宾| 白玉县| 新宁县| 永新县| 大洼县| 奇台县| 韶关市| 大同县| 龙州县| 广德县| 新源县| 通州市| 开江县| 中超|